好的,我在这里挣扎。我有未分类值的一个MySQL表的结构大约如下:MySQL:选择数值最接近但大于给定值的行
ID Size
----- -----
1 12
2 10
3 1
4 0
5 8
6 9
7 6
8 2
9 9
10 4
我希望做的是给定大小(例如,大小= 5)提取的下一个更大的行(和下一个较小的最终)。
我已经试过:
SELECT * FROM Table WHERE Size > 5 ORDER BY Size DESC LIMIT 2
但是,这给了我:
ID Size
----- -----
1 12
2 10
,但我要的是
ID Size
----- -----
7 6
5 8
任何帮助,将不胜感激。如果这有所帮助,我使用PHP访问表。 谢谢!
是的,当然!谢谢!抓住正确的行,但我也想让它们以降序出现。有没有办法做到这一点? –
如果你想在PHP中使用,你可以使用array_reverse,如果你想在MySQL中做,然后看到我的udpated答案。 – shubham715
是的!这基本工作,但最后我做这个:SELECT * FROM(SELECT * FROM表WHERE尺寸> 5 ORDER BY大小ASC LIMIT 2)为R ORDER BY r.Size DESC此外,我太新+1,所以我只能在这里说谢谢。 –