スレッドの一部であるアイテムを持つテーブルがあるので、スレッドIDがあり、各アイテムには日付(UNIXタイムスタンプ)もあります。だから私のテーブルのような何か(UNIXタイムスタンプを簡素化)になります。私は何をしたいかGROUP BYの後にWHEREを適用する
+-----------------------------+
| id | date | thread_id |
+-----+---------+-------------+
| 1 | 1111 | 4 |
| 2 | 1333 | 4 |
| 3 | 1444 | 5 |
| 4 | 1666 | 5 |
+-----------------------------+
を同じスレッドIDを共有するすべての項目が渡された日付よりも小さい選択スレッドIDです。したがって、すべてのアイテムが1555より古いスレッドID(日付< 1555)が必要な場合は、1555より小さい日付のアイテムがあるにも関わらず、スレッドID 4が返されるだけで、5は返されません。試してみました:
SELECT * FROM table WHERE date < 1555 GROUP BY thread_id ORDER BY date DESC
私はそのクエリでやろうとしていることはグループ最高日付の値を持つと日付が未満1555しかし、それであるアイテムを取得し、そこからアイテムの周りにスレッドIDにより、すべての項目があります1555より古いアイテムがあるためスレッドID 5が返されます。
要約すると、すべてのアイテムが特定の日付より古いスレッドIDを選択するにはどうすればよいですか?
ありがとうございました!
これは簡単なことです!本当にありがとう。 – flicker