我找不到办法,也不确定如何搜索这个问题,因为我发现的并不是我想要的,而且答案也不适用。
我有一个包含两个字段(char 和 num)的表,'num' 是唯一的,但 'char' 不是,如示例所示:
char | num
_________
a | 2
b | 1
c | 3
c | 4 <-- I am here
c | 7
c | 8
d | 5
e | 9
f | 6
我想要的是从用'char'排序的表标记的行开始获取N行。
我在用着
SELECT * FROM table WHERE char >= $current_char ORDER BY char,num LIMIT $N
但它不符合我的要求,因为它从 char='c' 和 num='3' 的行开始。
编辑:我可能会计算并使用 xdazz 的答案,因为代码会更清晰,但看起来我可以这样做:
SELECT * FROM table WHERE char > $current_char OR (char = $current_char AND num >= $current_num) ORDER BY char,num LIMIT $N
但它不是很漂亮。