2014-10-15 3 views
0

У меня вопрос. У меня есть таблица «коды» с полямиПоказать все виды не только в MySQL

идентификатор, BASENAME, код, отправить

ID - идентификатор записи BASENAME - идентификатор категории кода - не имеет значения поля посыла - информация делает этот код был отправлен или не

Теперь я хочу показать для всей категории, сколько кодов было отправлено.

Я написал этот запрос

SELECT codes.baseName, Count(codes.code) FROM codes WHERE codes.send = '1' GROUP BY codes.baseName 

Но это дает мне рассчитывать только из BASENAME из были код был отправлен.

Например

Если у меня есть 5 категории и отправить = 1 будет только 3 категории соперника и MySQL показывает мне только 3 категории, но я хочу, чтобы получать все 5 категории, но где Count (codes.code) = 0 я хочу также видел его с 0.

Мой результат

baseName | Count(codes.code) 
    2    14 
    3    12 
    5    15 

Результат, который я хочу, чтобы иметь

baseName | Count(codes.code) 
    1    0 
    2    14 
    3    12 
    4    0 
    5    15 

Пожалуйста, дайте мне совет, как обновить мой запрос

ответ

1

Это может работать для вас:

SELECT codes.baseName, sum(case when codes.send = '1' then 1 else 0 end) 
FROM codes 
GROUP BY codes.baseName 
+0

Большое большое спасибо за быстрый ответ. Конечно, это работает. – user3399458

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