關於mysql的distinct用法


對於mysql數據庫,查詢結果會有很多重復數據,如何去重?相信很多人第一反應就是使用distinct關鍵字。但是對於distinct的細節,卻不是很了解。比如,對於下面的user表,去重后后的結果是什么呢?

user_name user_password
笑傲獨行俠 123
笑傲獨行俠 123
笑傲獨行的俠客 123
笑傲獨行的俠客 456

1.select distinct user_name from user 查詢結果是什么?

  這個最簡單,相信大家都知道。把重復列去掉,每一組相同的值都只保留一個結果(兩個笑傲獨行俠只保留一條,兩條笑傲獨行的俠客只保留一條,四條數據剩下兩條)。

笑傲獨行俠
笑傲獨行的俠客

 

 

 

2.select distinct user_name,user_password from user 查詢結果是什么呢?

有人可能是覺得,distinct放在user_name列前面,就是對該列的結果進行去重,其實不然。distinct是不能針對某一列進行去重的。它只能針對跟在他后面的所有列進行去重。所以查詢結果應該是

笑傲獨行俠

123

 

笑傲獨行的俠客 123
笑傲獨行的俠客 456

 

 

 

 

 

即,對於整個查詢結果的所有列去重。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM