Salve.
Ho un problema con una query, che credo si possa risolvere (?) nidificando, ma non ho ben capito come.
Questo un esempio di dati della tabella messages:
mess_id | user_id |
2 | 1 |
2 | 2 |
3 | 1 |
3 | 2 |
3 | 6 |
3 | 8 |
4 | 1 |
4 | 3 |
6 | 1 |
6 | 6 |
7 | 2 |
7 | 8 |
Quello che mi occorre è estrarre tutti i ragguppamenti secondo mess_id ilc ui conteggio è 2 (mi servono tutti i mess_id) dove è contnuto un determinato user_id.
Per esempio: considerando l user_id 2, la query mi dovrebbe restituire un array con i mess_id 2 e 7 (perché per il mess_id 3 tot = 3, mentre nei mess_id 4 e 6 lo user_id 2 non è contenuto).
Questa una query base:
SELECT COUNT(*) AS tot, mess_id
FROM mesages
GROUP BY mess_id
Mi restituisce tuttl i conteggi, e fin qui va bene. Ma, come faccio a discriminame i soli gruppi che contengono user_id = 2?
E a tenere solo i tot = 2?
Ho provato diverse varianti, ma le mie conoscenze di SQL sono limitate (e, forse, non è proprio una cosa semplice).
Qualcuno sa aiutarimi?