繁体   English   中英

MySQL Select记录超过累计总数

[英]MySQL Select records exceeding the cumulative total

鉴于我有下表

ID 文件大小MB
1 100
2 100
3 100
4 100
5 100
6 100

我想选择超过累积值的最旧记录,在本例中为 500。

所以像这样

ID Cumulative_FileSizeMB
6 100
5 200
4 300
3 400
2 500
1 600

我只想选择 id 2 和 1 的记录,因为它们 >= 500。目标是删除它们。

谢谢

对于任何有同样问题的人。 我已经使用 Mysql 窗口函数达到了这个解决方案,并且也不需要为累计总数声明一个变量

SELECT * from (
  SELECT 
  id, 
  FileSizeMB,
  SUM(FileSizeMB) OVER (ORDER BY id DESC) AS TotalFileSizeMB
  FROM table
) as t1
WHERE TotalFileSizeMB > 500

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM