Ho una tabella con elementi che fanno parte di un thread, quindi hanno un ID di thread, ogni elemento ha anche una data (UNIX timestamp). Quindi il mio tavolo sembra qualcosa di simile (timestamp UNIX semplificato):Applica WHERE dopo GROUP BY
+-----------------------------+
| id | date | thread_id |
+-----+---------+-------------+
| 1 | 1111 | 4 |
| 2 | 1333 | 4 |
| 3 | 1444 | 5 |
| 4 | 1666 | 5 |
+-----------------------------+
Quello che voglio fare è selezionare gli ID di thread in cui tutti gli oggetti che condividono lo stesso ID del thread sono più piccole rispetto alla data passata. Quindi, se volessi ID di thread in cui TUTTI gli articoli fossero più vecchi di 1555 (data < 1555), mi sarei solo aspettato di avere l'ID di thread 4 restituito, non 5 anche se ha un elemento con una data inferiore a 1555. Quindi questo è quello che provato:
SELECT * FROM table WHERE date < 1555 GROUP BY thread_id ORDER BY date DESC
quello che sto cercando di fare con quella domanda è il gruppo di tutti gli elementi di ID filo intorno la voce con il valore di data più alto e da lì ottenere gli elementi in cui la data è inferiore a 1555. Ma questo non funziona, verrà comunque restituito il thread ID 5 perché ha un articolo precedente al 1555.
Quindi, per riassumere, come selezionerei solo ID di thread in cui TUTTI gli articoli sono precedenti a una certa data?
Grazie per il vostro tempo!
Questo sembra funzionare, che era semplice! Grazie mille. – flicker