我有一个包含表的数据库,我想计算列的平均值而不导入所有行并直接在python中执行;我认为这样做比使用sqlite要花费更长时间(计算方面和代码方面)。我认为以下内容应该有效:
cursor.execute('SELECT AVG(column) FROM table')
但是,我不知道如何实际提取此SQL命令的输出。我无法在文档(https://docs.python.org/3/library/sqlite3.html)中找到有用的游标类方法来帮助我解决这个问题。
请告诉我,我所做的事情是否毫无意义或愚蠢;我之前没有使用过SQL,所以它可能是上述两种方式之一。
谢谢
答案 0 :(得分:1)
不确定您的其他代码,但我认为您正在寻找.fetchone()方法。这些方面应该有用:
import sqlite3
conn = sqlite3.connect('example.db')
c = conn.cursor()
c.execute('SELECT AVG(column) FROM table')
print(c.fetchone())
.fetchone()方法返回一个结果,如果你想要从执行中返回多个结果,你会使用如下的循环:
for row in c.execute('SELECT * FROM table')
print(row)