大家首先會想到: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)