Mysql查詢字段去除指定列重復數據


使用Distinct關鍵字
        Distinct關鍵字主要用來在SELECT查詢記錄中根據某指定字段的值去除重復記錄
     SELECT DISTINCT [字段名] FROM [表名] WHERE [檢索條件字句]

      所以用這樣一句SQL就可以去掉重復項了:
           SELECT DISTINCT (B) FROM TEST

或者 select distinct username from msg;


    但是:
        這里有一個非常非常需要注意的地方:
        SELECT DISTINCT [字段名]后面不能再跟其他的字段,否則檢索出來的記錄仍然會含有重復項;
        錯誤寫法:
            SELECT DISTINCT [字段名] ,[其他字段名] FROM [表名] WHERE [檢索條件字句]
    
      實際上,我們上面SQL語句結果集里就只有B字段;(一般情況下,這種結果應該是很難滿足需求的)


    如果我們的記錄集里還需要有其他字段值,那怎么辦呢?

實際上,我們完全可以用另一種辦法來解決問題;只是需要用到子查詢而已!

使用GROUP BY 分組
      有一點需要注意:
       使用帶有GROUP BY字句的查詢語句時,在SELECT列表指定的列要么是GROUP BY 指定的列,要么包含聚合組函數

      所以用這樣一句SQL就可以去掉重復項了:

select * from msg group by terminal_id;
      這樣就得到我們想要的結果集了:
---------------------
作者:愛佳男士
來源:CSDN
原文:https://blog.csdn.net/cao478208248/article/details/27319263
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!


免責聲明!

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



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