智睿软件_技术交流论坛综合站长服务器技术 → 精典语言:sql语句实现重复数据只显示一次


  共有20864人关注过本帖平板打印

主题:精典语言:sql语句实现重复数据只显示一次

帅哥哟,离线,有人找我吗?
zhirui
  1楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:520 积分:8740 威望:0 精华:5 注册:2009-07-07
精典语言:sql语句实现重复数据只显示一次  发帖心情 Post By:2013-06-18 10:57:26

大家首先会想到: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)  
(这里min也可以改为max)
对于数据表重复数据只保留一条,以下sql语句可实现。
delete A where   id   not   in( select   max(id)   from   A group   by   title )  
(这里max也可以改为min)

 

有关distinct用法:http://www.w3school.com.cn/sql/sql_distinct.asp


网络投票评选管理系统,投票评选的合作伙伴 支持(0中立(0反对(0回到顶部