sql сгруппировать по 2 поля? - PullRequest
0 голосов
/ 25 декабря 2018

name status a win a run a run b run b win b win c run c run c run d run d run e NA e run e win f NA f NA f NA

в mysql

здесь мне нужно подсчитать количество пробежек и не выиграть одинаково для победы и NA

можеткто-нибудь поможет мне?

ОЖИДАЕМЫЙ ВЫХОД WIN 3 RUN 2 NA 1

ПРОВЕРЕННЫЙ QUERY SELECT a FROM data GROUP BY a HAVING ( COUNT(*) > 1 )

1 Ответ

0 голосов
/ 25 декабря 2018

Попробуйте использовать условное агрегирование:

SELECT
    name,
    COUNT(CASE WHEN status = 'win' THEN 1 END) AS WIN,
    COUNT(CASE WHEN status = 'run' THEN 1 END) AS run,
    COUNT(CASE WHEN status = 'NA'  THEN 1 END) AS NA
FROM yourTable
GROUP BY
    name;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...