У меня есть таблица с элементами, которые являются частью потока, поэтому у них есть идентификатор потока, у каждого элемента также есть дата (метка времени UNIX).Моя таблица выглядит примерно так (временные метки UNIX упрощены):
+-----------------------------+
| id | date | thread_id |
+-----+---------+-------------+
| 1 | 1111 | 4 |
| 2 | 1333 | 4 |
| 3 | 1444 | 5 |
| 4 | 1666 | 5 |
+-----------------------------+
Что я хочу сделать, это выбрать идентификаторы потоков, где ВСЕ элементы с одинаковым идентификатором потока меньше, чем пройденная дата.Поэтому, если бы я хотел идентификаторы потоков, где ВСЕ элементы старше 1555 (дата <1555), я бы ожидал, что вернется только идентификатор потока 4, а не 5, даже если у него есть элемент с датой меньше 1555. Так вотпробовал: </p>
SELECT * FROM table WHERE date < 1555 GROUP BY thread_id ORDER BY date DESC
Что я пытаюсь сделать с этим запросом, так это сгруппировать все элементы по идентификатору потока вокруг элемента с наибольшим значением даты и оттуда получить элементы, дата которых меньше 1555.Но это не сработает, он по-прежнему будет возвращать идентификатор потока 5, потому что у него есть элемент старше 1555.
Итак, подведем итог: как мне выбирать идентификаторы потоков, где ВСЕ элементы старше определенной даты?
Спасибо, что уделили время!