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

Podmíněný agregační dotaz se skupinou podle

Jste velmi blízko, stačí do agregační funkce vložit podmínky pro podmíněnou agregaci, kterou chcete provést:

SELECT
companyID, 
COUNT(userID) AS `totalCompanyUsers`,
SUM(CASE 
  WHEN 
    TIMESTAMPDIFF(MONTH, lastLogin, NOW()) < 1 THEN 1 
  ELSE 0
END
) AS `numUsersWhoLoggedInWithinLastMonth`
FROM Users
GROUP BY companyID;

Výsledky jsou stále seskupeny podle companyID , ale druhá agregační funkce provádí součet 1s a 0s v závislosti na tom, zda se uživatel během posledního měsíce přihlásil nebo ne.




  1. Kontejner MySQL Docker neukládá data do nového obrazu

  2. Funkce MySQL CRC32() – příklady

  3. Jak funguje TIME_TO_SEC() v MariaDB

  4. Vygenerujte sadu nebo sekvenci bez smyček – část 2