sql >> Databáze >  >> RDS >> Mysql

MySQL - počítejte aktivní/neaktivní/zakázané uživatele a vybírejte uživatele na základě stavu v jednom dotazu

Neexistuje způsob, jak získat očekávaný výstup jedním jediným dotazem (protože struktura výsledku je odlišná). Chcete-li získat očekávané informace o users, musíte použít dva různé dotazy tabulka:

1 – Můžete získat status přehled s následujícím:

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 – Chcete-li získat všechny uživatele s status = 0 (aktivní) můžete použít následující:

SELECT *
FROM users
WHERE status = 0

ukázka na dbfiddle.uk



  1. php mysql získat proměnná data z databáze a vypočítat

  2. Zkopírujte hodnotu sloupce z jedné tabulky do jiné odpovídající ID

  3. Když spustím program, JPA nevytvoří tabulku v MySQL

  4. MySQL:jak získat rozdíl mezi dvěma časovými razítky v sekundách