时间:2021-07-01 10:21:17 帮助过:6人阅读
二者的检索效果如下:
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的使用
标签: