很多时候数据库查出来的数据会出现重复的情况。
不过这些情况用distinct就可以解决。
表A:
| id | name |
|---|---|
| 1 | a |
| 2 | b |
| 3 | c |
| 4 | b |
| 1 | a |
表B:
| province | city |
|---|---|
| 河北省 | 石家庄市 |
| 河北 | 省石家庄市 |
1.对于单列的去重
select distinct name from A
执行之后的结果:
| name |
|---|
| a |
| b |
| c |
2.对于多列的去重
实例1:
select distinct id,name from A
执行之后的结果如下:
| id | name |
|---|---|
| 1 | a |
| 2 | b |
| 3 | c |
| 4 | b |
实例2:
select distinct province,city from B
执行之后的结果:
| province | city |
|---|---|
| 河北省 | 石家庄市 |
| 河北 | 省石家庄市 |
由此可见,distinct去重是根据每一列进行去重,作用于province 和 city 两个字段,不是province 和 city 两列“字符串拼接”后再去重的。
distinct规范
distinct必须写在字段前面。
select id,name distinct from A
这样写就会报错。
本文介绍如何使用SQL的DISTINCT关键字去除数据库查询中的重复数据。通过示例展示了在单列和多列情况下,DISTINCT如何工作,以及其规范用法。
1709

被折叠的 条评论
为什么被折叠?



