我有以下MySQL代碼: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
都沒有成功。有沒有人有任何其他建議?
我有以下MySQL代碼: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
都沒有成功。有沒有人有任何其他建議?
我懷疑你需要的是這樣的:
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
用途:
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
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
如果e記錄不存在,則e.c_id將爲空(e.eid) - 主選擇中的count(*)和c.c_id將(可能)更好。 –
你能附上數據兩個C和E?可能有一個表沒有10行 – ajreal
它實際上是e.eid的空值,它們被省略,而不是0。你想要一個計數,其中e和c記錄對於同一個c_id是否存在,還是有可能記錄存在於一個表上而不是另一個上? –
@ajreal不用擔心,我想我設法解決它! – TronCraze