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


Mysql Select 5 rows where sum of one combined column best matches a determined value

首先,我甚至还没有开始编写这个查询,因为我不知道如何处理它。情况是这样的。在table_name中,我需要查询对column_a选择(所有列)行,最好的总和为确定的值。这个例子中的值可以是150。column_a的结果可能是(3、25、67、19、9、11)等。我需要加起来最接近150的5行。在本例中,查询将给出行数(67、25、19、11、9)。

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

这个例子是接近我正在寻找除了我需要的总数和行结果。MySQL中前5个值的总和

我希望我已经解释得足够好了。我有一种感觉,这将是一个简单的问题,我只是想得太多了。

谢谢

与一个只有一列的表t的关系

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