Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL - Zählen Sie aktive/inaktive/gesperrte Benutzer und wählen Sie Benutzer basierend auf dem Status in einer Abfrage aus

Es gibt keine Möglichkeit, die erwartete Ausgabe mit einer einzigen Abfrage zu erhalten (da die Struktur des Ergebnisses anders ist). Sie müssen zwei verschiedene Abfragen verwenden, um die erwarteten Informationen der users zu erhalten Tabelle:

1 - Sie können den status abrufen Übersicht mit folgendem:

SELECT 
  SUM(CASE WHEN status = 0 THEN 1 ELSE 0 END) AS active_users,
  SUM(CASE WHEN status = 1 THEN 1 ELSE 0 END) AS inactive_users,
  SUM(CASE WHEN status = 2 THEN 1 ELSE 0 END) AS banned_users
FROM users

2 - Um alle Benutzer mit status = 0 zu erhalten (aktiv) Sie können Folgendes verwenden:

SELECT *
FROM users
WHERE status = 0

Demo auf dbfiddle.uk