Так как вы хотите напечатать значение первого (и единственного) столбца в наборе результатов, вы должны использовать это:
cursor = db.cursor()
cursor.execute("""SELECT COUNT(*) AS cnt FROM table LIMIT 30""")
row = cursor.fetchone()
if row is not None:
print(df["cnt"])
Если это все еще возвращает счет 1
, тоесть другое возможное объяснение.По совпадению ваша таблица может содержать только одну запись.LIMIT 30
не означает, что всегда возвращается 30 записей, просто возвращается максимум из 30 записей.
Примечание: использование LIMIT
без ORDER BY
довольно бессмысленно.Если вы ограничиваете, вы должны также сортировать.