如何使用 MySQL 查询排除最新数据后各类型的 Num 总和?
按时间排序并按类型分组后计算 type 的 num 总和
给定数据表中包含按时间排序和按类型分组的数据。要计算排除最新一条数据后,其余 num 的总和,可以在 mysql 中使用如下查询:
SELECT t.type, SUM(t.num) FROM ( SELECT type, num, ROW_NUMBER() OVER (PARTITION BY type ORDER BY time DESC ) AS row_num FROM C ) t WHERE t.row_num != 1 GROUP BY t.type
这段查询使用 cte(通用表表达式)进行以下步骤:
- 添加行号:为每个类型按时间降序计算行号 row_num。
- 过滤出非最新数据:选择 row_num 不等于 1 的行,从而排除最新数据。
- 按类型分组求和:将剩余数据按类型分组并计算 num 的总和。
最终,查询返回了一个表格,其中包含按类型分组的 num 总和,排除了最新一条数据。
以上就是如何使用 MySQL 查询排除最新数据后各类型的 Num 总和?的详细内容,更多请关注其它相关文章!