如何在kdb/Q中按Full Name分组求和Score字段并生成汇总表?
解决summary表Sum_Scores字段填充问题
填充Sum_Scores字段的SQL语句
可以通过UPDATE语句结合子查询,根据info表的Score汇总值更新summary表:
UPDATE summary s SET Sum_Scores = ( SELECT SUM(Score) FROM info i WHERE i.`Full Name` = s.`Full Name` );
按Sum_Scores排序
如果需要让summary表的记录按Sum_Scores降序排列(匹配预期结果的顺序),可根据使用的数据库选择对应方式:
- MySQL环境下调整表的物理顺序:
ALTER TABLE summary ORDER BY Sum_Scores DESC;
- 全数据库通用方式(查询时指定排序):
SELECT * FROM summary ORDER BY Sum_Scores DESC;
说明
- 子查询会匹配summary表中每条记录的
Full Name,从info表中汇总该用户的所有Score之和 - 执行完
UPDATE语句后,Sum_Scores字段将被填充为对应求和值
内容的提问来源于stack exchange,提问作者mmv456
相关产品推荐
相关产品推荐

