按名称将sqlite数据合并到第二个表中

按名称将sqlite数据合并到第二个表中

问题描述:

我有一个数据库是涉及基本游戏的python脚本的输出。当代码保存到数据库时,它将其保存到名为points的表中,其中包含数据:name,account_name,time,score。我想要的是按名称排序时将数据保存到第二个表格中,然后我将使用account_name进行相同操作。一些分表:按名称将sqlite数据合并到第二个表中

name |account_name | time | score oliver |Oliver | 10:29:14-01:04:2017 | 250 oliver |Oliver | 10:29:20-01:04:2017 | 500 dave |Oliver | 10:29:34-01:04:2017 | 250

我要的是对数据进行排序到一个名为名称表,其中得分总计为具有相同名称的所有记录和列保持如何跟踪很多条目已经合并(在这种情况下,它将等于所玩游戏的数量)。例如:

name | totalpoints | totalgames 
oliver| 750   | 2 
dave | 250   | 1 

我将使用此格式对account_name进行相同操作。我找到了关于如何分组和汇总数据的信息,但没有找到第二个表格。先谢谢你。

+0

所以,你要采取一个SELECT的结果,和东西它变成一个INSERT?看看[documentation](http://www.sqlite.org/lang_insert.html)。 –

第一,创建你的表:

CREATE TABLE `stats` (
    `name` TEXT PRIMARY KEY ON CONFLICT REPLACE, 
    `totalpoints` INTEGER, 
    `totalgames` INTEGER 
); 

然后插入到表:

INSERT INTO stats 
SELECT games.name, SUM(games.score) AS totalpoints, COUNT(*) AS totalgames 
FROM games 
GROUP BY games.name 
+0

我不得不改变表名,但除此之外,它完美地工作。谢谢。 –