Mysql的select in会自动过滤重复的数据
生活随笔
收集整理的這篇文章主要介紹了
Mysql的select in会自动过滤重复的数据
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Mysql的select in會自動過濾重復的數據
默認使用 SELECT 語句;
當加上in范圍后,結果如下圖:
in范圍內的數據,如果有重復的,只會選擇第一個數據。
所以如果不是直接使用SQL語句來查詢,而是在代碼中來查詢時,記得使用 distinct 關鍵字
Mysql中IN條件有重復性能有影響嗎?一定會,所以一定要去重
如:(模仿代碼查詢情況,代碼查詢之后還有IN查詢,記得要去重)
select id, name from table1 where ref_id in (select id from table2 )其實是相當于:
select id, name from table1 where ref_id in (select distinct id from table2 )因為table2中的id可能會存在重復的情況。
IN中為空,報錯,id IN(),本來查到的就是空,這條sql沒有意義,mysql不會允許這么查,浪費性能。
mysql,in中重復的記錄也查出的方法
如題,舉例說明下,假如where in (1,2,3,2,5,3);其中2,3都有重復的,想要讓查出的記錄數量和in中的相同,重復的也會顯示重復的記錄,就是得出的記錄是6條。
in有重復沒辦法,我能知道的就是
select * from xxx where in (1,2,3,5)
union all
select * from xxx where in (2,3)
自己在外邊先把重復的挑出來
總結
以上是生活随笔為你收集整理的Mysql的select in会自动过滤重复的数据的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: erlang精要(13)-基本语法(1)
- 下一篇: mysql,in中重复的记录也查出的方法