suchen

Heim  >  Fragen und Antworten  >  Hauptteil

Wie gruppiere und zähle ich in MySQL?

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粉478835592P粉478835592260 Tage vor620

Antworte allen(1)Ich werde antworten

  • P粉662802882

    P粉6628028822024-04-07 11:24:38

    你尝试过类似的事情吗?

    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;

    Antwort
    0
  • StornierenAntwort