2014-01-24 4 views
0

У меня есть запрос, как:группы по вопросу в MySQL

SELECT count(*) AS total, remaining 
FROM cold_clients, (
    SELECT count(*) AS remaining 
    FROM cold_clients 
    WHERE sic_code = '754901' 
    AND STATUS = 'COLD' 
) AS r 
WHERE sic_code = '754901'; 

Я получаю правильный результат для полных SIC кодов и остальная SIC коды. Но, это специфично для конкретного значения sic-кода. Я хочу получить все sic-коды с его суммарными и оставшимися значениями.

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

ответ

4

Использование условной агрегации:

SELECT count(*) AS total, 
     sum(STATUS = 'COLD') as remaining 
FROM cold_clients 
WHERE sic_code = '754901'; 

Для всех sic_code с, использование агрегирования:

SELECT sic_code, count(*) AS total, 
     sum(STATUS = 'COLD') as remaining 
FROM cold_clients 
GROUP BY sic_code; 
+0

Я не хочу его для конкретного кода так в оригинале именно: 754901. Я хочу эту информацию для все sic-коды, которые находятся в базе данных. –

+1

@ пользователь3067928. , , См. Новый код. –

+0

спасибо .. это работает .. –

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