MySQL的总和限制 [英] MySQL limit by sum
本文介绍了MySQL的总和限制的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想按总数限制mySQL中的SELECT
结果.
例如,这是我的表格:
I want to limit my SELECT
results in mySQL by sum.
For Example, this is my table:
(id, val)
数据条目: (1,100), (2,300), (3,50), (4,3000)
Data Entries: (1,100), (2,300), (3,50), (4,3000)
我想选择头个条目,以使这些条目中的 val 之和足以使其达到M. 例如,我要查找的条目使得M = 425. 结果应为(1,100),(2,300),(3,50).
I want to select first k entries such that the sum of val in those entries is just enough to make it to M. For example, I want to find entries such that M = 425. The result should be (1,100),(2,300),(3,50).
如何在mysql选择查询中做到这一点?
How can I do that in a mysql select query?
推荐答案
尝试使用此变体-
SET @sum = 0;
SELECT id, val FROM (
SELECT *, @sum:=@sum + val mysum FROM mytable2 ORDER BY id
) t
WHERE mysum <= 450;
+------+------+
| id | val |
+------+------+
| 1 | 100 |
| 2 | 300 |
| 3 | 50 |
+------+------+
这篇关于MySQL的总和限制的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文