Подсчет строк с определенным условием в агрегированном запросе

У меня есть этот запрос, чтобы получить количество PlayerSession s с reconnect = TRUE , сгруппированных по Player. country :

SELECT
    country,
    COUNT(*) AS with_reconnect
FROM PlayerSession S LEFT JOIN Player P ON (P.id = S.player_id)
WHERE reconnect = TRUE
GROUP BY country

Я бы хотел изменить его, чтобы отображать не только количество повторно подключенных сеансов, но и общее количество, например:

SELECT
    country,
    COUNT(*) AS total,
    (COUNT WHERE reconnect = TRUE) AS with_reconnect
FROM PlayerSession S LEFT JOIN Player P ON (P.id = S.player_id)
GROUP BY country

Возможно ли это, и если да, то каков правильный синтаксис?

29
задан Bart van Heukelom 22 February 2012 в 12:29
поделиться