sql語句實現重復數據只顯示一次 ,或者刪除重復數據


大家首先會想到:distinct。有如下數據表A:

id    title      grief

1    標題1  簡介1 
2    標題2  簡介2 
3    標題1  簡介3 
4    標題2  簡介2

對於title字段,若實現重復數據只顯示一條,可用如下sql語句:

select distinct title from A 

但這樣返回的只有一個title字段。

 

擴展:


如果要實現title字段重復數據只顯示一條,並且要返回多個字段,使用distinct就不行了。以下sql語句解決以上問題。
select  *  from A where id in (select min(id) from course group by title,grief)   
(這里min也可以改為max) 
對於數據表重復數據只保留一條,以下sql語句可實現。
delete A where   id   not   in( select   max(id)   from   A group   by   title,grief )   
(這里max也可以改為min) 


免責聲明!

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



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