在SQL Server(Transact-SQL)中DISTINCT子句用于从结果集中删除重复记录。 DISTINCT子句只能和SELECT语句一起使用。
语法
在SQL Server(Transact-SQL)中DISTINCT子句的语法是:
SELECT DISTINCT expressions FROM tables [WHERE conditions];
参数及说明
expressions
要检索或计算的列
tables
希望从中检索记录的表。在FROM子句中必须至少有列出一个表;
WHERE conditions
可选的。要选择的记录必须满足的条件
注意
-
当DISTINCT子句中只提供了一个表达式,查询将返回该表达式的唯一值;
-
当DISTINCT子句中提供了多个表达式,查询将检索列出的表达式唯一组合;
-
在SQL Server中,DISTINCT子句不忽略NULL值。因此在SQL语句中使用DISTINCT子句时,结果集将包括NULL并作为一个唯一的值;
示例 - 用单一表达式
让我们来看看一个最简单的SQL Server DISTINCT子句的例子。使用SQL Server DISTINCT子句返回一个字段,并去除结果集中的重复行记录。
例如:
SELECT DISTINCT last_name FROM employees WHERE employee_id >= 50;
这篇SQL Server DISTINCT的例子就是从 employees 查询 employee_id 大于或等于50返回所有 last_name 的唯一值。
示例 - 使用多个表达式
让我们来看看如何使用在SQL Server DISTINCT子句在SELECT语句从多个字段中删除重复行记录。
例如:
SELECT DISTINCT first_name, last_name FROM employees WHERE employee_id >=50 ORDER BY last_name;
这篇SQL Server DISTINCT子句的例子就是从 employees 表查询 employee_id 大于或等于50的结果,并按 last_name 升序返回 last_name 和 first_name 组合的唯一值。
在这种情况下,DISTINCT应用于DISTINCT关键字之后列出的每个字段,并因此返回不同(唯一)的组合。
from => http://www.windoweye.com/sql_server/distinct.html
来源:oschina
链接:https://my.oschina.net/u/2263383/blog/730348