Mysql
 sql >> Base de données >  >> RDS >> Mysql

MySQL - compter les utilisateurs actifs/inactifs/bannis et vendre les utilisateurs en fonction du statut dans une seule requête

Il n'y a aucun moyen d'obtenir la sortie attendue avec une seule requête (puisque la structure du résultat est différente). Vous devez utiliser deux requêtes différentes pour obtenir les informations attendues des users tableau :

1 - Vous pouvez obtenir le status aperçu avec ce qui suit :

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 - Pour obtenir tous les utilisateurs avec status = 0 (actif) vous pouvez utiliser ce qui suit :

SELECT *
FROM users
WHERE status = 0

démo sur dbfiddle.uk