2015-03-06 2 views
0

У меня есть следующие таблицы («Таблица») форматОбъединение двух отсчетов в 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 но я не мог сделать это произойдет, как результат один ряд.

Я получаю это довольно легко, но я не могу заставить его работать.

Есть ли (простой) способ сделать это?

+0

Почему, согласно вашему ожидаемому результату, счетчик (*) для a = 801331 равен 0? –

+0

мой плохой, исправил его: 0 –

ответ

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; 
+0

Большое спасибо. Оба работают. –

Смежные вопросы