私はそれを行う方法を見つけることができず、この質問を検索する方法がわかりません。私が見つけたのは、私が望んでいたものではなく、答えが当てはまらないためです。
2つのフィールド(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
しかし、それはあまりきれいではありません。