Sei abbastanza vicino, devi solo inserire le condizioni all'interno della funzione di aggregazione per l'aggregazione condizionale che desideri eseguire:
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;
I risultati sono ancora raggruppati per companyID
, ma la seconda funzione di aggregazione esegue una somma di 1 e 0 a seconda che l'utente abbia effettuato l'accesso nell'ultimo mese o meno.