最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

mysql使用left?join連接出現重復問題的記錄

 更新時間:2023年03月23日 09:07:53   作者:Fighter168  
這篇文章主要介紹了mysql使用left?join連接出現重復問題的記錄,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

mysql使用left join連接出現重復

問題描述

在使用連接查詢的時候,例如以A表為主表,左連接B表,我們期望的是A表有多少條記錄,查詢結果就有多少條記錄,但是可能會出現這樣的結果,就是查詢出來的記錄總條數,多余A表的記錄總條數,并且是查詢的結果顯示出來時有部分列是重復的,簡單的說,就是產生了笛卡爾積。

問題示例

其中A表是用戶表(user),字段分別是:

ID name userid
1 aaaa 10001
2 bbbb 10002
3 ccccc 10003

B表是第一類產品表(product),字段分別是:

ID title time userid
1 標題1 2014-01-01 10002
2 標題2 2014-01-01 10002
3 標題3 2014-01-01 10001
4 標題4 2018-03-20 10002
5 標題5 2018-03-20 10003

這個時候我們使用下面sql 執(zhí)行的時候發(fā)現

selecct * from user left join product on user.userid=product.userid;

執(zhí)行結果竟然比user表的總數記錄多

問題解決

其實這個問題明眼人一眼就看出來了,因為left join的關鍵字在product表不唯一,所以這部分不唯一的數據就產生了笛卡爾積,導致執(zhí)行結果多于預期結果。

解決的辦法就是采用唯一鍵去關聯(lián)做鏈接查詢就可以了

mysql使用left join時,右表數據有重復數據

LEFT JOIN 關鍵字會從左表 (table_name1) 那里返回所有的行,即使在右表 (table_name2) 中沒有匹配的行。 此時右表 (table_name2)右表有通過 on 關鍵字過濾后沒有數據或只有一條數據時是沒有問題的。

我要說的是如果右表 (table_name2)出現重復數據(業(yè)務上完全重復)該怎么處理。

當右表 (table_name2)通過 on 關鍵字過濾后出現重復數據,此時查出的數據就會是,右表數據*重復的數據+右表其他條件數據,和我們所需數據的條數不同。

我的解決方法是,先根據過濾字段分組查詢一次右表 (table_name2),把相同的數據過濾掉,然后把這個結果當成右表在進行關聯(lián)

前面腦補?
LEFT JOIN (SELECT MODEL_CODE,MODEL_NAME from tm_model GROUP BY MODEL_CODE) tm on tav.model_code = tm.MODEL_CODE?
后面腦補

總結

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • 如何優(yōu)雅安全的備份MySQL數據

    如何優(yōu)雅安全的備份MySQL數據

    這篇文章主要介紹了如何優(yōu)雅安全的備份MySQL數據的相關資料,需要的朋友可以參考下
    2022-10-10
  • mysql5.7.17在win2008R2的64位系統(tǒng)安裝與配置實例

    mysql5.7.17在win2008R2的64位系統(tǒng)安裝與配置實例

    本篇文章主要給大家介紹了mysql5.7.17在win2008R2的64位系統(tǒng)安裝與配置實例,以及在配置過程中遇到的問題解決辦法。
    2017-11-11
  • MySQL?source導入很慢的解決方法

    MySQL?source導入很慢的解決方法

    在mysql導入數據量非常大的sql文件的時候,速度會非常慢,這篇文章主要給大家介紹了關于MySQL?source導入很慢的解決方法,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-03-03
  • MySQL 數據庫 ALTER命令講解

    MySQL 數據庫 ALTER命令講解

    MySQL 為關系型數據庫(Relational Database Management System)。本文重點給大家介紹mysql數據庫alert命令講解,本文介紹的非常詳細,具有參考借鑒價值,感興趣的朋友一起學習吧
    2016-05-05
  • Can't connect to MySQL server on localhost (10061)解決方法

    Can't connect to MySQL server 

    今天在安裝mysql后使用mysql命令連接mysql時報錯?Can't connect to MySQL server on localhost (10061),一般是因為mysql服務沒有啟動或者用戶名密碼不正確
    2011-03-03
  • mysql 5.7.13 安裝配置筆記(Mac os)

    mysql 5.7.13 安裝配置筆記(Mac os)

    這篇文章主要為大家詳細介紹了Mac os下mysql 5.7.13 安裝配置方法教程,感興趣的小伙伴們可以參考一下
    2016-06-06
  • MySQL5.7缺少my.ini文件的解決方法

    MySQL5.7缺少my.ini文件的解決方法

    my.ini是MySQL數據庫中使用的配置文件,修改這個文件可以達到更新配置的目的。這篇文章主要介紹了MySQL5.7缺少my.ini文件的解決方法,需要的朋友可以參考下
    2018-03-03
  • MySQL優(yōu)化之緩存優(yōu)化(續(xù))

    MySQL優(yōu)化之緩存優(yōu)化(續(xù))

    本文是MySQL優(yōu)化系列文章的第一篇緩存優(yōu)化的續(xù)篇,為大家更為詳細的介紹緩存優(yōu)化的方方面面,希望大家能夠喜歡
    2017-03-03
  • 數據結構-樹(三):多路搜索樹B樹、B+樹

    數據結構-樹(三):多路搜索樹B樹、B+樹

    這篇文章主要介紹了多路搜索樹B樹、B+樹,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-04-04
  • MySQL實現批量推送數據到Mongo

    MySQL實現批量推送數據到Mongo

    這篇文章主要為大家詳細介紹了MySQL如何實現批量推送數據到Mongo,文中的示例代碼講解詳細,具有一定的學習價值,感興趣的可以了解一下
    2023-05-05

最新評論

杂多县| 城口县| 庆城县| 会昌县| 夏津县| 苍梧县| 宁远县| 铁岭县| 北宁市| 丰镇市| 治县。| 宜川县| 泰兴市| 庆城县| 中山市| 西华县| 即墨市| 贵阳市| 石嘴山市| 玉溪市| 罗山县| 西平县| 思南县| 秦安县| 延吉市| 泽普县| 忻城县| 肃北| 上犹县| 平定县| 亳州市| 贺兰县| 湖州市| 抚松县| 霍城县| 临武县| 勐海县| 高陵县| 诏安县| 宝应县| 漳浦县|