我正在尝试从表中获取行数并将其打印出来。我正在这样做,如下所示:
cursor = db.cursor()
cursor.execute("""SELECT count (*) table limit 30""")
df = cursor.fetchall()
我正在尝试打印以下内容的输出:
for num in df:
print(num)
尽管预期输出为30,这将返回“ 1”。任何人都可以建议我哪里出错了。谢谢
答案 0 :(得分:1)
由于要打印结果集中第一列(也是唯一列)的值,因此应使用以下方法:
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
毫无意义。如果有限制,通常还应该排序。