Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python中的数据库列求和_Python_Database - Fatal编程技术网

python中的数据库列求和

python中的数据库列求和,python,database,Python,Database,我最近遇到了添加数据库列元素的问题。以下是代码: import sqlite3 con = sqlite3.connect("values.db") cur = con.cursor() cur.execute('SELECT objects FROM data WHERE firm = "sony"') 如您所见,我连接到数据库sql,并告诉Python选择列对象 问题是我不知道对所选对象求和的适当命令 高度推荐任何想法/建议 提前谢谢你 试试下面这句话: print sum([ row[

我最近遇到了添加数据库列元素的问题。以下是代码:

import sqlite3
con = sqlite3.connect("values.db")
cur = con.cursor()

cur.execute('SELECT objects FROM data WHERE firm = "sony"')
如您所见,我连接到数据库sql,并告诉Python选择列对象

问题是我不知道对所选对象求和的适当命令

高度推荐任何想法/建议


提前谢谢你

试试下面这句话:

print sum([ row[0] for row in cur.fetchall()])
如果要将项目添加到一起,请执行以下操作:

print ([ row[0] for row in cur.fetchall()])

如果可以,让数据库进行求和,因为这样可以减少数据传输,并让数据库做它擅长的事情

cur.execute("SELECT sum(objects) FROM data WHERE firm = 'sony'")
或者,如果你真的只是在寻找对象的总数

cur.execute("SELECT count(objects) FROM data WHERE firm = 'sony'")
无论哪种方式,您的结果都很简单:

count = cur.fetchall()[0][0]

你能提供更多的细节吗?不清楚将所选转发加起来是什么意思。对不起,我指的是对象。非常感谢!除了fetchall还有其他方法吗?@lavezzi7,总有其他方法,但可以将cur.execute的结果想象为列表列表-即使只有一行,它实际上也是行列表,每行包含列列表,即使只有一列。您总是希望从数据库中排出结果,因此,使用fetchall是完美的选择。使用sqllite3并签出