Вы можете JOIN
два агрегированных подзапроса, как указано ниже:
SELECT
u.userid,
u.logincount,
b.benefitcount
FROM
(
SELECT userid, COUNT(*) logincount FROM userlogins GROUP BY userid
) u
INNER JOIN (
SELECT userid, COUNT(*) benefitcount FROM benefits GROUP BY userid
) b ON u.userid = b.userid
Этот запрос можно оптимизировать, если у вас есть уникальный ключ в каждой таблице:
SELECT
u.userid,
COUNT(DISTINCT u.id) logincount,
COUNT(DISTINCT b.id) benefitcount
FROM userlogins u
INNER JOIN benefitcount b ON u.userid = b.userid
GROUP BY u.userid