【发布时间】:2019-09-18 23:02:33
【问题描述】:
我想做以下事情:
cur.execute("SELECT key, SUM(val) FROM table GROUP BY key")
cur.executemany("INSERT INTO table_sums VALUES(?,?)",(row for row in cur))
如果可能,在单个 SQLite 语句中进行批处理,也就是说,它只对一些键、插入进行求和,直到所有键都被处理为止。
显然我现在正在使用 Python,但由于我要求一个语句(如果存在),我认为这无关紧要。如果它不存在,也许 Python 中有一个有效的(!)解决方法?
编辑:为了避免 SELECT WHERE 查询,实际上最好不要为键的子集生成完整的总和,而是只对前 n 行求和并存储到目前为止的总和,然后继续下一个n...
【问题讨论】:
标签: python select sqlite insert aggregate