使用left join聯(lián)表查詢時(shí),如果table1中的一條記錄對(duì)應(yīng)了table2的多條記錄,則會(huì)重復(fù)查出id相同的多條記錄。
SELECT t1.*
FROM table1 t1
LEFT JOIN table2 t2 ON t1.id = t2.tid
解決方法:
將查詢結(jié)果作為中間表,使用group by 進(jìn)行去重文章來源:http://www.zghlxwxcb.cn/news/detail-504270.html
SELECT tmp.* FROM (
SELECT t1.*
FROM table1 t1
LEFT JOIN table2 t2 ON t1.id = t2.tid
) tmp group by tmp.id
如果想對(duì)group by后的數(shù)據(jù)計(jì)算count,可以將查詢結(jié)果作為中間表再計(jì)算count文章來源地址http://www.zghlxwxcb.cn/news/detail-504270.html
SELECT COUNT(1) FROM (
SELECT tmp.* FROM (
SELECT t1.*
FROM table1 t1
LEFT JOIN table2 t2 ON t1.id = t2.tid
) tmp group by tmp.id
) tmp2
到了這里,關(guān)于SQL聯(lián)表查詢LEFT JOIN 數(shù)據(jù)去重復(fù)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!