很多時候資料庫查出來的資料會出現重複的情況。
不過這些情況用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
這樣寫就會報錯。