Wie gruppiere und zähle ich in MySQL?
P粉478835592
P粉478835592 2024-04-06 18:30:17
0
1
555

Ich versuche, eine Abfrage zu schreiben, die die Gesamtzahl der nicht gelöschten Nachrichten extrahiert, die an Freunde gesendet wurden. Hier ist ein Screenshot der Tabellenstruktur:

Die Ausgabe, die ich erreichen möchte, ist wie folgt:

id          messages_count
 ---------------------------
 1            4562
 2            7255

Hier sind die Abfragen, die ich bisher ausprobiert habe:

SELECT u.id, count( CASE WHEN m.is_deleted = false THEN m.is_deleted END ) as messages_count
FROM users u
inner join messages m on u.id = m.to_id
GROUP BY u.id
ORDER BY u.id;

P粉478835592
P粉478835592

Antworte allen(1)
P粉662802882

你尝试过类似的事情吗?

SELECT u.id, count( m ) as messages_count
FROM users u
inner join messages m on u.id = m.to_id and m.is_deleted = false
GROUP BY u.id
ORDER BY u.id;
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage