MySQL include count не возвращает строки с нулевым счетчиком - PullRequest
0 голосов
/ 06 декабря 2011

У меня следующий код MySQL:

SELECT COUNT(e.eid) AS cnt, e.c_id, c.cdesc 
FROM e 
JOIN c on c.c_id = e.c_id 
GROUP by c.c_id

К сожалению, count не учитывает строки, которые 0, поэтому, например, c_id может иметь 10 строк, но отображаются только 9 (потому что один из счетчиков e_id равен нулю.

Я пробовал оба LEFT JOIN и RIGHT JOIN безуспешно.У кого-нибудь есть другие предложения?

Ответы [ 3 ]

2 голосов
/ 06 декабря 2011

Я подозреваю, что вам нужно это:

SELECT COUNT(*) AS cnt, c.c_id, c.cdesc 
FROM c 
LEFT JOIN e on c.c_id = e.c_id 
GROUP by c.c_id
1 голос
/ 06 декабря 2011
SELECT COUNT(e.eid) AS cnt, e.c_id, c.cdesc 
FROM c
left JOIN e on c.c_id = e.c_id 
GROUP by c.c_id
0 голосов
/ 06 декабря 2011

Использование:

SELECT COUNT(*) AS cnt, e.c_id, c.cdesc 
FROM e 
JOIN c on c.c_id = e.c_id 
GROUP by c.c_id
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...