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.