登录
首页 >  数据库 >  MySQL

如何使用 MySQL 查询排除最新数据后各类型的 Num 总和?

时间:2024-12-08 11:46:03 235浏览 收藏

哈喽!今天心血来潮给大家带来了《如何使用 MySQL 查询排除最新数据后各类型的 Num 总和?》,想必大家应该对数据库都不陌生吧,那么阅读本文就都不会很困难,以下内容主要涉及到,若是你正在学习数据库,千万别错过这篇文章~希望能帮助到你!

如何使用 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(通用表表达式)进行以下步骤:

  1. 添加行号:为每个类型按时间降序计算行号 row_num。
  2. 过滤出非最新数据:选择 row_num 不等于 1 的行,从而排除最新数据。
  3. 按类型分组求和:将剩余数据按类型分组并计算 num 的总和。

最终,查询返回了一个表格,其中包含按类型分组的 num 总和,排除了最新一条数据。

到这里,我们也就讲完了《如何使用 MySQL 查询排除最新数据后各类型的 Num 总和?》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注golang学习网公众号,带你了解更多关于的知识点!

相关阅读
更多>
最新阅读
更多>
课程推荐
更多>