Está bastante cerca, solo necesita poner las condiciones dentro de la función agregada para la agregación condicional que desea realizar:
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;
Los resultados todavía están agrupados por companyID
, pero la segunda función de agregación realiza una suma de 1 y 0 dependiendo de si el usuario inició sesión en el último mes o no.