首先,我还没有开始编码这个查询,因为我不知道如何处理它。情景是这样的。在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
我希望我已经解释得这么好了。我有一种感觉,这将是一个简单的问题,我只是简单地思考。
由于
答案 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
请注意,这将是一个缓慢的查询。