0

如何仅通过指定名称来选择下一个结果?

我有一个看起来像这样的表,没有 ID,只有用户名列表。

row1 = username(Alex) 
row2 = username(Bob) 
row3 = username(Britney) 
row4 = username(Steve) 
row5 = username(Courtney) 
row6 = username(Greg) 
row7 = username(Abul) 
row8 = username(Roger) 
row9 = username(Victoria) 
row10 = username(Brooke) 

比方说,我想选择“格雷格”之后的所有项目。我怎样才能做到这一点?

4

3 回答 3

0

不,SQL 中的表没有固有的顺序,所以没有办法(除了按字母顺序)来确定接下来是哪个名称。

事实上,问题中显示的顺序完全是任意的——没有指定order by子句,行的检索顺序本质上是随机的。

于 2013-06-01T20:09:39.910 回答
0

这可以通过两个查询来完成。首先找到特定名称的 id。就像从表名中选择 id,其中用户名 ='Greg' 然后获取该 id,从表名中选择 *,其中 id>获取 id。

于 2013-06-01T20:10:57.160 回答
0

将 ID 列添加到表中,然后使用 LIMIT 作为偏移量

SELECT * FROM users LIMIT (SELECT ID FROM username WHERE username='Greg'), MAX(ID)

没测试过,不过可以玩

于 2013-06-01T20:12:00.420 回答