Как подсчитать в этом запросе? - PullRequest
0 голосов
/ 29 июня 2011

У меня есть одна таблица со следующими столбцами:

ListID----           Status

1---------             YES

2---------             YES

3----------             NO 

Я хочу написать оператор SQL, который будет возвращать счетчик для каждого столбца ListID со статусом «YES».Я создаю этот оператор SQL, чтобы в нем я получал ListID 3 с Count как 0?

Пожалуйста, дайте мне знать.

Ответы [ 5 ]

2 голосов
/ 29 июня 2011

Использование MySQL IF-функция :

Если Статус - ДА, считать поле. Иначе не считайте это (0).

SELECT ListID, SUM(IF(Status="YES",1,0)) 
FROM yourtable
GROUP BY `ListID`

Оформить этот предыдущий ответ: Получить оплаченную сумму наличных, сгруппированных по дням

1 голос
/ 29 июня 2011

ПОПРОБУЙТЕ

SELECT ListID, SUM(decode(Status,'YES',1,0))  
FROM yourtable 
GROUP BY ListID
0 голосов
/ 30 июня 2011
select status, count(ListID) 
from tablename
group by status
0 голосов
/ 29 июня 2011

Для этого достаточно оператора SQL92:

SELECT ListId, COUNT(*)
  FROM table
 GROUP BY ListId, Status
HAVING Status = 'Yes'
0 голосов
/ 29 июня 2011

Вы можете использовать этот самый трюк:

скажем, ДА 1, а НЕТ 0 затем просто SUM (статус) группы по listId.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...