加入收藏 | 网站地图 | | RSS | WAP
你好,游客 登录 注册 搜索
背景:
阅读内容  领跑条码、标签打印软件 | 来电弹出客户资料

根据某一字段去重后获取多个字段内容的sql语句

[日期:2013-06-22] 作者: 来源: [字体: ]

今天遇到一个问题,客户要求根据id字段去重后返回所有字段的内容。本来想用多重查询然后用in来完成嵌套,但是考虑效率问题还是用distinct和min + group by吧。

原数据表内容:

id name

1   a

2  b

3   c

4   c

5  b

用户需要获取以下数据结果集:

id name

1   a

2  b

3   c

有两种方式可以达到效果:

一、使用distinct:select *, count(distinct name) from table group by name

二、使用min + group by:select name,min(id) id from table group by name

以上两种方法请根据情况选用。因为group by需要枚举几乎所有的字段,所以在字段特别多的时候不建议使用。distinct方法相对简便,但是会多出一个字段,不是很干净。

关键词:查询  字段  去重  distinct  group by 

收藏 推荐 打印 | 录入:blue1000 | 阅读:
本文评论   查看全部评论 (6)
表情: 姓名: 字数
点评:
       
评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事/刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款
第 6 楼
* 匿名 发表于 2016/12/25 14:40:49
http://www.blue1000.com/bkhtml/c91/2010-12/69895.htm 八年级历史教学反思 http://www.135995.com/show/6355.html 《颐和园》教学反思 http://www.135995.com/show/6354.html
第 5 楼
* 匿名 发表于 2016/12/24 14:32:13
http://www.blue1000.com/bkhtml/c91/2010-12/69895.htm 这也是一种幸福作文 http://www.135995.com/details/zs3153.html 以再见为题目的作文 http://www.135995.com/details/zs3152.html
第 4 楼
* 匿名 发表于 2016/11/29 15:33:37
你个sb
第 3 楼
* 匿名 发表于 2015/2/4 15:10:24
误导……
第 2 楼
* 匿名 发表于 2015/1/24 17:22:44
晕,
select *, count(distinct name) from table group by name
这个能执行吗????