sql >> Databasteknik >  >> RDS >> Mysql

MySQL - räkna aktiva/inaktiva/förbjudna användare och välj ut användare baserat på status i en fråga

Det finns inget sätt att få din förväntade utdata med en enda fråga (eftersom strukturen för resultatet är annorlunda). Du måste använda två olika frågor för att få den förväntade informationen om users tabell:

1 – Du kan få status översikt med följande:

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 – För att få alla användare med status = 0 (aktiv) kan du använda följande:

SELECT *
FROM users
WHERE status = 0

demo på dbfiddle.uk



  1. MySQL DELIMITER-nyckelordet fungerar inte

  2. Räkna dubbletter av poster i Mysql-tabellen?

  3. Skickar array till Oracle-proceduren från c#

  4. Hur får man en lista över databaser?