sql >> Database >  >> RDS >> Mysql

MySQL - tel actieve/inactieve/verbannen gebruikers en selecteer gebruikers op basis van status in één zoekopdracht

Er is geen manier om uw verwachte output te krijgen met één enkele query (omdat de structuur van het resultaat anders is). U moet twee verschillende zoekopdrachten gebruiken om de verwachte informatie van de users te krijgen tafel:

1 - U kunt de status . krijgen overzicht met het volgende:

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 - Om alle gebruikers te krijgen met status = 0 (actief) u kunt het volgende gebruiken:

SELECT *
FROM users
WHERE status = 0

demo op dbfiddle.uk



  1. MySQL - Bestelquery en toon een willekeurige rij bovenaan

  2. Adminer - Een geavanceerde webgebaseerde databasebeheertool voor Linux

  3. Gegevens verwijderen uit alle tabellen in MYSQL

  4. Alias ​​gebruiken in When-gedeelte van een Case-instructie in Oracle SQL