色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

mysql分組沒有數(shù)據(jù)也顯示

錢琪琛2年前8瀏覽0評論

在使用 MySQL 進(jìn)行數(shù)據(jù)查詢時(shí),經(jīng)常會(huì)使用到分組操作。在進(jìn)行分組操作的時(shí)候,如果某個(gè)分組中沒有數(shù)據(jù),那么這個(gè)分組在結(jié)果集中是不會(huì)出現(xiàn)的。但是有時(shí)候我們希望這個(gè)分組也能夠顯示出來,這該怎么辦呢?

SELECT
t.id,
t.name,
COUNT(u.id) AS user_count
FROM
test_table t
LEFT JOIN user_table u ON t.id = u.test_id
GROUP BY
t.id

以上是一個(gè)簡單的 MySQL 查詢語句,其中 t 表中存儲了測試數(shù)據(jù),u 表中存儲了用戶數(shù)據(jù),且用戶數(shù)據(jù)和測試數(shù)據(jù)是按照測試數(shù)據(jù)的 id 進(jìn)行關(guān)聯(lián)的。在查詢語句中,我們對 test_table 進(jìn)行了分組,統(tǒng)計(jì)了每個(gè)測試數(shù)據(jù)對應(yīng)的用戶數(shù)量,并將結(jié)果通過 id、名稱、用戶數(shù)量進(jìn)行了輸出。

如果我們使用以上查詢語句進(jìn)行查詢,那么只有在 t 表中存在用戶關(guān)聯(lián)記錄的測試數(shù)據(jù)才會(huì)被統(tǒng)計(jì),即使有些測試數(shù)據(jù)沒有被使用過,也不會(huì)在結(jié)果集中出現(xiàn)。這時(shí)候我們需要將 INNER JOIN 改為 LEFT JOIN,這樣就能夠?qū)⑽幢皇褂玫臏y試數(shù)據(jù)也展示出來了。

SELECT
t.id,
t.name,
COUNT(u.id) AS user_count
FROM
test_table t
LEFT JOIN user_table u ON t.id = u.test_id
GROUP BY
t.id

通過以上修改,即使某個(gè)測試數(shù)據(jù)并沒有被使用過,該測試數(shù)據(jù)在結(jié)果集中也會(huì)出現(xiàn),用戶數(shù)量為 0。