列 ID、時間、およびテキストを含む DB テーブルがあります。ID は一意ではありません。「個別のIDごとに、Tより前の最大値の行を教えてください」というクエリを作成しようとしています。2 番目の部分は ORDER BY DESC LIMIT 1 WHERE time < T で十分簡単ですが、すべての ID を確実にカバーする方法がわかりません。
例として:
ID,time,text
1,10,"hello"
1,20,"world"
2,10,"foo"
3,10,"bar"
4,50,"blah"
時間 25 で検索した場合、次のようになります。
1,20,"world"
2,10,"foo"
3,10,"bar"
DISTINCT ID を検索してからそれぞれを検索することで、複数のクエリを実行できますが、より効率的な複合クエリ フォームがあることを期待していました。