Mysql选择5行,其中一个组合列的总和最匹配确定的值

时间:2013-04-23 19:19:06

标签: php mysql sum

首先,我还没有开始编码这个查询,因为我不知道如何处理它。情景是这样的。在table_name中,我需要查询column_a选择(所有列中)最佳总和为确定值的行。我对这个例子的价值可能是150. column_a的结果可能是(3,25,67,19,9,11)等。我需要五行,加在一起时最接近150.在这种情况下查询会给我排(67,25,19,11,9)。

SELECT * FROM 5 rows -> WHERE SUM(column_a) closest matches 150

这个例子接近我要找的东西,除了我需要得到的总数和行数。 Sum top 5 values in MySQL

我希望我已经解释得这么好了。我有一种感觉,这将是一个简单的问题,我只是简单地思考。

由于

1 个答案:

答案 0 :(得分:0)

表t,一列val

select * from t as t1, t as t2, t as t3, t as t4, t as t5
order by abs(t1.val + t2.val + t3.val + t4.val + t5.val - 150)
limit 1

请注意,这将是一个缓慢的查询。