python sqlite3对每种类型求和
我有一个表(foos),它是一个Foo列表,每种Foo类型一行。第二个表(items)是一个列表,其中每一行都是Foo的类型和金额(以及其他信息)。例如,Foo3,45.2和Foo2,12.34 我想确定每种食品的总金额 这是我现有的代码,但必须有更好(更标准或更高效)的方法: 我应该如何编写代码python sqlite3对每种类型求和,python,sqlite,Python,Sqlite,我有一个表(foos),它是一个Foo列表,每种Foo类型一行。第二个表(items)是一个列表,其中每一行都是Foo的类型和金额(以及其他信息)。例如,Foo3,45.2和Foo2,12.34 我想确定每种食品的总金额 这是我现有的代码,但必须有更好(更标准或更高效)的方法: 我应该如何编写代码 SELECT foo_type, SUM(amount) FROM items GROUP BY foo_type 在一个查询中提供每个foo\u类型和相应的sum。您可以从它构建一个字典,并使用它
SELECT foo_type, SUM(amount)
FROM items
GROUP BY foo_type
在一个查询中提供每个foo\u类型
和相应的sum
。您可以从它构建一个字典,并使用它来扩展第一个查询中的数据
或者将所有内容放在一个查询中:
cursor.execute("SELECT foo_type, SUM(amount) "
"FROM items, foos "
"WHERE items.foo_type = foos.type "
"GROUP BY foo_type")
results = list(cursor)
# results is a list of tuples: [(type1, sum1), (type2, sum2), ...]
在一个查询中提供每个foo\u类型
和相应的sum
。您可以从它构建一个字典,并使用它来扩展第一个查询中的数据
或者将所有内容放在一个查询中:
cursor.execute("SELECT foo_type, SUM(amount) "
"FROM items, foos "
"WHERE items.foo_type = foos.type "
"GROUP BY foo_type")
results = list(cursor)
# results is a list of tuples: [(type1, sum1), (type2, sum2), ...]
下面的语法突出显示告诉我您的代码有问题。我在执行行的末尾额外添加了一个“”。修正了。所以语法突出显示告诉我代码有问题。我在执行行的末尾加了一个“%”。Fixed.items和foo都使用列名“type”。当我运行第二个版本时,我在GROUPBY行上得到:sqlite3.OperationalError:不明确的列名:type。我尝试了按items.type分组,但没有效果。第一个版本完美地工作了Items和foo都使用列名“type”。当我运行第二个版本时,我在GROUPBY行上得到:sqlite3.OperationalError:不明确的列名:type。我尝试了按items.type分组,但没有效果。第一个版本运行良好