这可能很容易,这只是星期五的大脑问题,但我在这里挣扎......
我有一个MySQL表,其中包含文本条目,例如:
Elephant
Apple
Dog
Carrot
Banana
我拉了一排,即狗。我现在想要拉出前面的字母行和下面的字母行,即Carrot&象
所以......
SELECT text FROM table WHERE text >= 'Dog' ORDER BY text LIMIT 1
给我下一个字母行。但是,
SELECT text FROM table WHERE text <= 'Dog' ORDER BY text LIMIT 1
也许很明显地给了我表格的第一行字母。我想我可以得到桌子的位置然后按照自己的顺序排序并做一个LIMIT x-1,1来获得前一个但这看起来很可怕。
我确定我错过了一些明显的东西,但我的头疼了。
想法?
答案 0 :(得分:3)
ORDER BY text DESC
答案 1 :(得分:0)
这是最干净,最有效的方式: 下一步:
select min(name) people where name > 'Dog';
要获得上一个:
select max(name) people where name < 'Dog';