首页 > > > SQL基础知识普及(二)——DISTINCT

按惯例先上SQL Server查询顺序,小括号()里面的数字代码数据库引擎在执行查询语句时候的先后顺序,从1开始:
(8)SELECT
(9)DISTINCT (11)<Top Num> <select list>
(1)FROM[left_table]
(3)<join_type>JOIN <right_table>
(2)ON <join_condition>
(4)WHERE<where_condition>
(5)GROUPBY <group_by_list>
(6)WITH<CUBE | RollUP>
(7)HAVING<having_condition>
(10)ORDERBY <order_by_list>
在表中,可能会包含重复值。这并不成问题,不过,有时您也许希望仅仅列出不同(distinct)的值。
关键词 DISTINCT 用于返回唯一不同的值。
SELECT DISTINCT 列名称 FROM 表名称
如果要从 "Company" 列中选取所有的值,我们需要使用 SELECT 语句:
SELECT Company FROM Orders
| Company | OrderNumber |
|---|---|
| IBM | 3532 |
| Microsoft | 2356 |
| Apple | 4698 |
| Microsoft | 6953 |
| Company |
|---|
| IBM |
| Microsoft |
| Apple |
| Microsoft |
请注意,在结果集中,Microsoft 被列出了两次。
如需从 Company" 列中仅选取唯一不同的值,我们需要使用 SELECT DISTINCT 语句:
SELECT DISTINCT Company FROM Orders
| Company |
|---|
| IBM |
| Microsoft |
| Apple |
现在,在结果集中,"Microsoft" 仅被列出了一次。
从上面的例子我们就可以清楚的看到DISTINCT的用法了,就是如果某个字段或某几个字段所对应的记录都重复了,使用它就可以只显示一条记录,它的作用简而言之就是为了去重。具体使用场景一般像我们要查询某张订单表里客户的编号,但是如果这个客户购买了很多产品,那就会产生很多相同的编号,这时候我们使用DISTINCT,就可以从订单表中只显示所有不重复的客户编号,就这么个意思~
长按下面的二维码关注我们,更多学习经验/教辅资料应有尽有,觉得文章写的不错还望能分享给您的朋友,感谢您的支持~



原文作者:;如有侵权,请联系管理员删除。