mysql - 如何对多行求和?

标签 mysql sql

我有一个这样的表: 'round' 是一种 id

id  round  kind   count
1     1     1      10
1     1     2      10
1     1     1      20
1     2     1      10
1     2     1      30
2     1     1      15
2     1     1      10
2     2     2      20

我想要这些结果

id  round  kind1Total  kind2Total   roundTotal
1     1    30           10            40
1     2    40                         40
2     1    25                         25
2     2                 20            20

最佳答案

使用条件聚合:

SELECT
    id,
    round,
    SUM(IF(kind=1, count, 0)) AS kind1Total,
    SUM(IF(kind=2, count, 0)) AS kind2Total,
    SUM(count) AS roundTotal
FROM yourTable
GROUP BY
    id,
    round
ORDER BY
    id,
    round;

关于mysql - 如何对多行求和?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58279148/

相关文章:

mysql - YII2:根据数据库中时间戳字段的日期或时间进行排序和过滤

php - 比较不同领域的日期和时间

MySQL 如何获取用户的事件?

mysql - 重启后如何让 Shell 脚本继续运行?

mysql - 非唯一列 mysql

sql - 加入日期范围内的数据

sql - 优化sql查询帮助

sql - Postgresql 串行每日记录计数

c# - 寻找数据访问层保护建议