Вие сте доста близо, просто трябва да поставите условията вътре в агрегатната функция за условното агрегиране, което искате да извършите:
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;
Резултатите все още са групирани по companyID
, но втората функция за агрегиране изпълнява сбор от 1 и 0 в зависимост от това дали потребителят е влязъл през последния месец или не.