0

首先,我什至还没有开始编写这个查询,因为我不知道如何处理它。场景是这样的。在 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

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

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

谢谢

4

1 回答 1

0

带有一列 val 的表 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

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

于 2013-04-23T19:48:36.997 回答