Mysql
 sql >> Database >  >> RDS >> Mysql

MySQL:conta gli utenti attivi/inattivi/bannati e gli utenti sellect in base allo stato in una query

Non c'è modo di ottenere l'output previsto con una singola query (poiché la struttura del risultato è diversa). Devi usare due diverse query per ottenere le informazioni attese degli users tabella:

1 - Puoi ottenere lo status panoramica con quanto segue:

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 - Per ottenere tutti gli utenti con status = 0 (attivo) puoi utilizzare quanto segue:

SELECT *
FROM users
WHERE status = 0

demo su dbfiddle.uk