DISTINCT用于去除重复行,只返回唯一的值。常用于查询结果去重、聚合函数等场景。
在 SQL Server 中,DISTINCT 关键字用于从查询结果中去除重复的行,它的主要用途如下:
1、去除重复行:当查询结果中有多个相同的行时,可以使用 DISTINCT 关键字来去除这些重复行,只返回唯一的行。
2、聚合函数中的去重:在使用聚合函数(如 COUNT、SUM、AVG 等)进行计算时,DISTINCT 可以确保每个唯一值只被计算一次,避免重复计算。
3、多列去重:DISTINCT 不仅可以对整个行进行去重,还可以对多个列进行组合去重,通过指定多个列名,DISTINCT 会返回所有列的组合都唯一的行。
4、与 GROUP BY 结合使用:DISTINCT 可以与 GROUP BY 子句结合使用,以实现更复杂的去重逻辑,通过将 DISTINCT 放在 SELECT 子句中,并与 GROUP BY 子句一起使用,可以实现根据指定的列进行分组,并返回每个组中的唯一行。
下面是一个示例表格,展示了 DISTINCT 的使用方式和效果:
id | name | age |
1 | Alice | 25 |
2 | Bob | 30 |
3 | Alice | 25 |
4 | Charlie | 35 |
5 | Bob | 30 |
使用 DISTINCT 去除重复行:
SELECT DISTINCT name, age FROM table_name;
结果:
| name | age | ||| | Alice | 25 | | Bob | 30 | | Charlie | 35 |
使用 DISTINCT 和聚合函数:
SELECT DISTINCT name, age, COUNT(*) as count FROM table_name;
结果:
| name | age | count | |||| | Alice | 25 | 2 | | Bob | 30 | 2 | | Charlie | 35 | 1 |
与 GROUP BY 结合使用:
SELECT DISTINCT name, age FROM table_name GROUP BY name, age;
结果:
| name | age | ||| | Alice | 25 | | Bob | 30 | | Charlie | 35 |
原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/506619.html