MySQL下一个/上一个字母行

时间:2010-11-12 10:47:29

标签: mysql

这可能很容易,这只是星期五的大脑问题,但我在这里挣扎......

我有一个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来获得前一个但这看起来很可怕。

我确定我错过了一些明显的东西,但我的头疼了。

想法?

2 个答案:

答案 0 :(得分:3)

ORDER BY text DESC

答案 1 :(得分:0)

这是最干净,最有效的方式: 下一步:

 select min(name) people where name > 'Dog';

要获得上一个:

 select max(name) people where name < 'Dog';