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)