我有一个数据库,它是涉及基本游戏的python脚本的输出。当代码保存到数据库时,它会将其保存到名为points的表中,其中包含数据:name,account_name,time,score。我想要的是,当按名称排序时,数据被保存到第二个表中,然后我将对account_name执行相同的操作。一些要点表:
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的表中,其中对所有具有相同名称的记录进行总计分数,并且列跟踪已合并的条目数(在这种情况下,它将等于玩过的游戏数量)。例如:
name | totalpoints | totalgames
oliver| 750 | 2
dave | 250 | 1
我将使用此格式对account_name执行相同操作。我找到了有关如何对数据进行分组和求和而不是第二个表的信息。提前谢谢。
答案 0 :(得分:0)
首先,通过以下方式创建表格:
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