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

MySQL - tæl aktive/inaktive/forbudte brugere og selg brugere baseret på status i én forespørgsel

Der er ingen måde at få dit forventede output med en enkelt forespørgsel (da strukturen af ​​resultatet er anderledes). Du skal bruge to forskellige forespørgsler for at få de forventede oplysninger om users tabel:

1 - Du kan få status oversigt med følgende:

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 - For at få alle brugere med status = 0 (aktiv) kan du bruge følgende:

SELECT *
FROM users
WHERE status = 0

demo på dbfiddle.uk



  1. Synkroniseret udførelse af lagrede procedurer i mysql

  2. Vælg ugedag fra dato

  3. Hvordan indsætter man Kæmpe Pandas Dataframe i MySQL-tabel med Parallel Insert Statement?

  4. Undtagelse i forbindelse med mysql gennem jdbc