1. distinct (sn)sql 中是什么意思
select distinct (sn) from table;
与
select distinct sn from table;
一个意州判思,就是去重,如果有多个相含迹巧同 sn,谈键则只返回不同的sn
2. 第二十九章 SQL命令 DISTINCT
指定仅返回不同值的 SELECT 子句。
可选 DISTINCT 子句出现在 SELECT 关键字之后、可选 TOP 子句和第一个 SELECT-ITEM 之前。
DISTINCT 子句应用于 SELECT 语句的结果集。它将每个不同(唯一)值返回的行数限制为一个任意行。如果未指定 DISTINCT 子句,则默认情况下显示满足选择条件的所有行。 ALL 子句与不指定 DEFAULT 子句相同;如果指定 ALL , SELECT 将返回表中满足选择条件的所有行。
DISTINCT 从句有两种形式:
项目字段必须按列名指定。有效值包括以下值:列名( DISTINCT BY(City) ); %ID (返回所有行);指定列名的标量函数( DISTINCT BY(ROUND(Age,-1) ;指定列名的排序函数( DISTINCT BY(%Exact(City) 。不能按列别名指定字段;尝试这样做会生成 SQLCODE-29 错误。不能按列号指定字段;这将被解释为文字,并返回一行。将文字指定为 DISTINCT 子句中的项值将返回 1 行;返回哪行是不确定的。因此,指定 7 、 ‘Chicago’ 、 ‘’ 、 0 或 NULL 都返回 1 行。但是,如果将文字指定为逗号分隔列表中的项值,则该文字将被忽略,并且 DISTINCT 将为指定字段名的每个唯一组合选择一行。
DISTINCT 子句在 TOP 子句之前应用。如果两者都指定,则 SELECT 只返回具有唯一值的行,唯一值是在 TOP 子句中指定的唯一值行数。
如果 DISTINCT 子句中指定的列包含 NULL (不包含值)行,则 DISTINCT 将返回一行作为 DISTINCT (唯一)值的 NULL ,如以下示例所示:
DISTINCT 子句在嵌入式SQL简单查询中没有意义,因为在这种类型的嵌入式SQL中, SELECT 始终只返回一行数据。但是,嵌入式SQL基于游标的查询可以返回多行数据;在基于游标的查询中, DISTINCT 子句只返回唯一值行。
DISTINCT 子句在 ORDER BY 子句之前应用。因此, DISTINCT 和 ORDER BY 的组合将首先选择满足 DISTINCT 子句的任意行,然后根据 ORDER BY 子句对这些行进行排序。
DISTINCT 和 GROUP BY 这两个记录按指定字段(或多个字段)分组,并为该字段的每个唯一值返回一条记录。它们之间的一个重要区别是 DISTINCT 在分组之前计算聚合函数。 GROUP BY 计算分组后的聚合函数。以下示例显示了这种差异:
DISTINCT 子句可以用一个或多个聚合函数字段指定,尽管这很少有意义,因为聚合函数返回单个值。因此,下面的示例返回单行:
注意:如果将聚合函数作为唯一项或选择项的 DISTINCT 子句与 GROUP BY 子句一起使用,则 DISTINCT 子句将被忽略。可以使用子查询实现 DISTINCT 、聚合函数和 GROUP BY 的预期组合。
根据为字段定义的排序规则类型,将字符串值不同地分组在一起。默认情况下,字符串数据类型字段使用 SQLUPPER 排序规则定义,该排序规则不区分大小写。
如果字段/特性排序规则类型为 SQLUPPER ,则分组的字段值将全部以大写字母返回。要按原始字母大小写对值进行分组,或以原始字母大小写显示分组字段的返回值,请使用 %Exact 排序规则函数。以下示例显示了这一点,这些示例假设 Home_City 字段是使用排序规则类型 SQLUPPER 定义的,并且包含值 ‘New York’ 和 ‘New York’ :
可以使用管理门户优化包含 DISTINCT 子句的查询的查询性能。依次选择系统管理、配置、SQL和对象设置、SQL。查看和编辑 GROUP BY 和 DISTINCT 查询必须生成原始值选项。(此优化也适用于 GROUP BY 子句。)。默认值为“否”。
此默认设置按字母值的大写排序规则对字母值进行分组。此优化利用选定字段的索引。因此,只有在一个或多个选定字段存在索引时才有意义。它对存储在索引中的字段值进行排序;字母字符串以全部大写字母返回。您可以设置此系统范围的选项,然后使用 %exact 排序规则函数为特定查询覆盖它以保留字母大小写。
也可以使用 $SYSTEM.SQL.Util.SetOption() 方法快速区分选项在系统范围内设置此选项。要确定当前设置,请调用 $SYSTEM.SQL.CurrentSettings() ,它显示打开的不同优化设置;默认值为 1 。
指定 DISTINCT 关键字会导致基于游标的嵌入式SQL查询不设置 %ROWID 变量。即使 DISTINCT 不限制返回的行数,也不设置 %ROWID 。下面的示例显示了这一点:
查询行为的这种更改仅适用于基于游标的嵌入式 SQL SELECT 查询。动态 SQL SELECT 查询和非游标嵌入式 SQL SELECT 查询从未设置 %ROWID 。
指定 DISTINCT 关键字会导致查询检索所有当前数据,包括当前事务尚未提交的数据。忽略事务的 READ COMMITTED 隔离模式参数(如果设置);在 READ UNCOMMITTED 模式下检索所有数据。
以下查询为每个不同的 Home_State 值返回一行:
以下查询为每个不同的 Home_State 值返回一行,但返回该行的其他字段。无法预测检索到的是哪一行:
以下查询为 Home_State 和 Office_State 值的每个不同组合返回一行。根据数据的不同,它要么返回更多行,要么返回与上一个示例相同的行数:
以下查询使用 DISTINCT BY 为每个不同的名称长度返回一行:
下面的查询使用 DISTINCT BY 为 FavoriteColors %List 值的每个不同的第一个元素返回一行。它列出 FavoriteColors 为空的不同行:
以下查询按排序规则升序返回从 Sample.Person 检索到的前 20 个不同的 Home_State 值。 “top” 行反映 Sample.Person 中所有行的 ORDER BY 子句排序。
以下查询在主查询和 WHERE 子句子查询中都使用 DISTINCT 。它返回 Sample.Person 中的前 20 个不同的 Home_State 值,这些值也在 Sample.Employee 中。如果未提供子查询 DISTINCT ,它将检索 Sample.Person 中与 Sample.Employee 中随机选择的 Home_State 值匹配的 DISTINCT Home_State 值:
以下查询返回前 20 个不同的 FavoriteColore 值。这反映了 Sample.Person 中所有行的 ORDER BY 子句排序。众所周知, FavoriteColors 字段具有 NULL ,因此 FavoriteColors 为 NULL 的不同行出现在排序规则序列的顶部。
还要注意,在前面的示例中,因为 FavoriteColors 是一个列表字段,所以归类序列包括元素长度字节。因此,以三个字母元素(红色)开头的不同列表值列在以四个字母元素(蓝色)开头的列表值之前。
3. 在SQL语句中dist是什么意思
dist是 distinct 的缩写,意思是在查询结果中去掉重复的记录。
使用distinct的注意事项:
1、DISTINCT 必须放在第一个参数。
2、DISTINCT 表示对后面的所有参数的拼接取不重复的记录,相当于把 SELECT 表达式的项拼接起来选唯一值。
结构化查询语言简称SQL,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。
结构化查询语言是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系态脊统, 可以使用相同的结构化查询语言作为数据输入与管理的接口。结构化查询语言语句可以嵌套,这使它具有极大的灵活性和强大的功能。
(3)sql中distinct的意义扩展阅读:
SQL语句语言特点:
1、SQL风格统一
SQL可以独立完成数据库生命周期中的全部活动,包括定义关系模式、录人数据、建立数据库、_询、更新、维护、数据库重构、数据库安全性控制等一系列操作,这就为数据库应用系统开发提供了良好的环境,在数据库投入运行后,还可根据需要随时逐步修改模式,且不影响数据库的运行,从而使系帆敬渗统具有良好的可扩充性。
2、高度非过程化
非关系数据模型的数据操纵语言是面向过程的语言,用其完成用户请求时,必须指定存取路径。而用SQL进行数据操作,用户只需提出“做什么”,而不必指明“怎么做”,因此用户无须了解存取路径,存取路径的选择以及SQL语句的操作过程由系统自动完成。这不但稿陆大大减轻了用户负担,而且有利于提高数据独立性。
3、面向集合的操作方式
SQL采用集合操作方式,不仅查找结果可以是元组的集合,而且一次插入、删除、更新操作的对象也可以是元组的集合。
参考资料来源:网络-sql
4. SQL中select语句跟“distinct”这个参数有什么作用
distinct如果紧跟在Select之后, 则: 如果Select结果中出现重复行,则重复行只保留一行
distinct如果出现在集函数中,则统计时重复值只记一次.
distinct是关键字
5. 简述sql中查询语句的关键字
distinct
关键字可从
select
语句的结果中消除重复的行。如果没有指定
distinct,将返回所有行,包括重复的行。例如,如果选择
proctinventory
中的所有产品
id
时没有使用
distinct,将返回
1069
行。
如果使用了
distinct,就可以消除重复的行,只查看唯一的产品
id:
use
adventureworks;
go
select
distinct
proctid
from
proction.proctinventory
此查询将返回
432
行。
6. sql语句的“Select Distinct”是什么意思
Select Distinct的意思是查找重复的意思,在SQL语句中的作用是过滤结果集中的重复值。
在表中,可能会包含重复值,关键词 DISTINCT 用于返回唯一不同的值,语法为
SELECT DISTINCT 列名称 FROM 表弊嫌名称。
如果要从 "Company" 列中选取所有的值,我们需要使用 SELECT 语句,语句如下:
SELECT Company FROM Orders
7. sql语句中DISTINCT是什么意思
SQL
SELECT
DISTINCT
语句
在表中,可能会包含重复值。这并不成问题,不过,有时您也许希望仅仅列出不同(distinct)的值。
关键词
DISTINCT
用于返回唯一不同的值。
语法:
SELECT
DISTINCT
列名称
FROM
表名称
8. SQL里的DISTINCT什么意思
distinct就是去掉重复值的意思,比如你这里,DISTINCT(Sno)如果sno出现两次但是只显示一次,所以在做count的时候就不一样了。
9. sqlserver中的distinct的具体作用是什么
我们在使用SQL语句对数据库扮返缓表中的数据进行查询的时候,结果中可能会包含多世旅条重复的记录,而关键字distinct的作用就是将重复的记录进行厅模合并,相同的记录只显示一条。
10. sql语句去重 distinct是什么
distinct用来查询不重复记录的条数,即distinct来返回不重复字段的条数(count(distinct id)),其原因是distinct只能返回他的目标字段,而无法返回其他字段。
对单一一个字段使用distinct去除重复值时,会过滤掉多余重复相同的值,只返回唯一的值。
对多个字段同时使用distinct去除重复值时,distinct字段必须放在第一个字段前面,不能放在其他字段的后面。既distinct必须放在select后面,第一个字段的前面。同时,使用distinct多个字段去除重复数据时,必须满足各行中各列所对应的值都相同才能去除重复值,如果有其中一列的值不相同,那就表示这些数据不是重复的数据,不会过滤掉。
用法注意
1、distinct【查询字段】,必须放在要查询字段的开头,即放在第一个参数。
2、只能在SELECT语句中使用,不能在INSERT,DELETE,UPDATE中使用。
3、DISTINCT表示对后面的所有参数的拼接取不重复的记录,即查出的参数拼接每行记录都是唯一的。
4、不能与all同时使用,默认情况下,查询时返回的就是所有的结果。