欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

sql中的distinct

程序员文章站 2022-06-11 17:08:45
...

distinct必须放在开头

select id, distinct name from A; –会提示错误,因为distinct必须放在开头

distinct是对行起作用,而不是列

当结果中含有多列时,distinct可以去掉重复项,这里的重复项是指所有字段都相等的行,并不能去年某列中相同的字段。

    name    age
0   yang     22
1   yang     22
2   yang     23

如上表所示,第0行和第1行是重复项,distinct(name)只会去掉0或1行,第2行会被保留,因为第2行的age是不同的。如果只是根据name来去重,而不考虑age,可以用group by。

常用count(distinct xxx)

可以和count(distinct name)结合使用,如:
先对年龄分给,再统计每个分组里不同姓名(去重后)的数量

select age, count(distinct(name))
from table
group by age #group by后的字段必须在select中出现,where中的字段必须是表中的原生字段,不能是计算后的。
相关标签: sql distinct

上一篇: 数组算法

下一篇: 小偷PHP+Html+缓存