Объединить два счета в SQLite
У меня есть следующий формат таблицы ("Таблица")
A B C
"801331" "5755270" "0"
"1761861" "10556391" "1"
"1761861" "10557381" "33"
"1761861" "11069131" "33"
"801331" "24348751" "0"
"801331" "77219852" "0"
"1761861" "557880972" "0"
И я хотел бы посчитать и представить два разных количества в одной таблице, сгруппированной по столбцу А.
Первый:
SELECT A, COUNT(*) FROM Table GROUP BY A
Второй имеет одно условие:
SELECT A, COUNT(*) FROM Table WHERE C != 0 GROUP BY A
Я хочу получить следующий результат
A 1st 2nd
"1761861" "4" "3"
"801331" "3" "0"
Я попробовал несколько ответов на такие вопросы, как thisOne, но я не смог этого сделать, так как результат - одна строка.
Я понимаю, это довольно легко, но я не могу заставить его работать.
Есть ли (простой) способ сделать это?
1 ответ
Решение
SELECT A, sum(1), sum(case when C <> 0 then 1 else 0 end) FROM Table GROUP BY A;
SELECT A, count(*), count(case when C <> 0 then A else null end) FROM Table GROUP BY A;