码迷,mamicode.com
首页 > 数据库 > 详细

sql中Distinct的使用

时间:2015-07-11 15:03:00      阅读:266      评论:0      收藏:0      [点我收藏+]

标签:

作用:消除重复的数值

一、如:

1 select id from T1
2 
3 select distinct id from T1

二者的检索效果如下:

技术分享

distinct可以用来修饰多列,如:

1 select distinct id,name from T1

效果:

技术分享

发现检索的结果自动按照id列进行排序,再比如:

1 select distinct name,id from T1

技术分享

发现的结果自动按照name列进行排序。也就是说在执行select语句时,总会对要被检索的列,进行默认的排序,如上例,先按照name进行排序,再按照id进行排序。

可以以不同的方式,对各列进行排序,如:

select distinct name ,id from T1 order by name desc,id asc

效果如下:

技术分享

二、限制

distinct中的select语句只能是distinct所指定的字段,不能出现其他字段,如:

技术分享

三、与聚合函数组合

1 select count(distinct id) from T1

将返回不同id的行数。

但是注意count的使用,如下sql语句将报错:

1 select count(distinct name),id from T1

显示错误:选择列表中的列 ‘T1.ID‘ 无效,因为该列没有包含在聚合函数或 GROUP BY 子句中。

应该这样写:

1 select count(distinct name),id from T1 group by id

select语句中如果有聚合函数,其他被检索的列也应该被包含在聚合函数或者group by子句中。

关于更多count函数的使用,接下来会单独开篇来讲。

 

sql中Distinct的使用

标签:

原文地址:http://www.cnblogs.com/SharpL/p/4638466.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!