Объединить два счета в 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;
Другие вопросы по тегам