sql语句distinct
Ⅰ sql语句的“Select Distinct”是什么意思
Select Distinct的意思是查找重复的意思,在SQL语句中的作用是过滤结果集中的重复值。
在表中,可能会包含重复值,关键词 DISTINCT 用于返回唯一不同的值,语法为
SELECT DISTINCT 列名称 FROM 表名称。
如果要从 "Company" 列中选取所有的值,我们需要使用 SELECT 语句,语句如下:
SELECT Company FROM Orders
Ⅱ sql语句去重distinct方法是什么
sql语句去重distinct方法是根据name和id两个字段来去重的。这种方式Access和SQLServer同时支持,返回的结果为两行,这说明distinct并非是对xing和ming两列字符串拼接后再去重的,而是分别作用于了xing和ming列。
sql语句去重distinct特点
distinct语句中select显示的字段只能是distinct指定的字段,其他字段是不可能出现的,例如假如表A有备注列,如果想获取distincname,以及对应的备注字段想直接通过distinct是不可能实现的,但可以通过其他方法实现关于SQLServer将一列的多行内容拼接成一行的问题讨论。
distinct这个关键字用来过滤掉多余的重复记录只保留一条,但往往只用它来返回不重复记录的条数,而不是用它来返回不重记录的所有值。其原因是distinct只有用二重循环查询来解决,而这样对于一个数据量非常大的站来说,无疑是会直接影响到效率的。
Ⅲ SQL如何去重
1、首先创建一个临时表,用于演示sqlserver语法中的去重关键字distinct的使用。本文以sqlserver数据库为例演示,
IF OBJECT_ID('tempdb..#tmp1') IS NOT NULL DROP TABLE #tmp1;
CREATE TABLE #tmp1(
Col1 varchar(50),
Col2 int
);
Ⅳ SQL中distinct的用法是什么
在表中,可能会包含重复值。这并不成问题,不过,有时您也许希望仅仅列出不同(distinct)的值。关键词 distinct用于返回唯一不同的值。
表A:
返回的结果为两行,这说明distinct并非是对xing和ming两列“字符串拼接”后再去重的,而是分别作用于了xing和ming列。
3.COUNT统计
select count(distinct name) from A; --表中name去重后的数目, SQL Server支持,而Access不支持
count是不能统计多个字段的,下面的SQL在SQL Server和Access中都无法运行。
select count(distinct name, id) from A;
若想使用,请使用嵌套查询,如下:
select count(*) from (select distinct xing, name from B) AS M;
4.distinct必须放在开头
select id, distinct name from A; --会提示错误,因为distinct必须放在开头
5.其他
distinct语句中select显示的字段只能是distinct指定的字段,其他字段是不可能出现的。例如,假如表A有“备注”列,如果想获取distinc name,以及对应的“备注”字段,想直接通过distinct是不可能实现的。但可以通过其他方法实现关于SQL Server将一列的多行内容拼接成一行的问题讨论
Ⅳ SQL数据库DISTINCT是什么意思
SQL数据库中,DISTINCT表示去掉重复的行,针对包含重复值的数据表,用于返回唯一不同的值。语法是SELECT DISTINCT 列名称 FROM 表名称。如果指定了 SELECT DISTINCT,那么 ORDER BY 子句中的项就必须出现在选择列表中,否则会出现错误。
(5)sql语句distinct扩展阅读:
DISTINCT虽然是用来过滤重复记录。但往往在使用时,只用它来返回不重复记录的条数,而不是用它来返回不重记录的所有值。其原因是DISTINCT只有用二重循环查询来解决,而这样对于一个数据量非常大的站来说,无疑是会直接影响到效率的。
此外,对于DISTINCT关键字,如果后面有多个字段,则代表着是多条件去重,只有当这几个条件都相同时才算是重复记录。
Ⅵ 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同时使用,默认情况下,查询时返回的就是所有的结果。