查询sql一个字段重复的数据mysql_sql查询按两个字段查询重复记录
展開全部
1、改成如下語句:
select shiyan003.* from shiyan003 right join
(select xm,sfzhm from shiyan003 group by xm,sfzhm having count(*) > 1) a
on a.xm = shiyan003.xm and a.sfzhm = shiyan003.sfzhm
2、測試數據62616964757a686964616fe78988e69d8331333366306466如下:
3、測試結果如下:
4、分析題中語句:
以一個字段為基準查詢重復記錄,題中的SQL語句是一種常見的解決方法。
現在以兩個字段為基準查重,題中的語句就無能為力了,需做變通。
以下是題中核心語句的執行結果
已經查出表中的重復記錄了,只是缺少shiyan003表的其它字段。
我們以它為基準,聯接shiyan003表,即可得最終結果。
5、運用Right join 右連接
right join是以a表的記錄為基礎的,shiyan003可以看成左表,a可以看成右表,right join是以右表為準的。換句話說,右表a的記錄將會全部表示出來,而左表(shiyan003)只會顯示符合搜索條件的記錄(例子中為: a.xm = shiyan003.xm and a.)。A表記錄不足的地方均為NULL。
圖中標灰的是左表,標黃的是右表。
注:如果語句都寫在一行上,左表右表就很容易分辨。
參考資料:
總結
以上是生活随笔為你收集整理的查询sql一个字段重复的数据mysql_sql查询按两个字段查询重复记录的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 格罗方德和通用汽车在美国签署生产半导体芯
- 下一篇: mysql shell 1.0.10_M