distinct语句怎么用,distinct 语句

http://www.itjxue.com  2023-01-17 18:37  来源:未知  点击次数: 

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同时使用,默认情况下,查询时返回的就是所有的结果。

SQL中distinct的用法是什么?

在表中,可能会包含重复值。这并不成问题,不过,有时您也许希望仅仅列出不同(distinct)的值。关键词 distinct用于返回唯一不同的值。

表A:

表B:

1.作用于单列

select distinct name from A

执行后结果如下:

2.作用于多列

示例2.1

select distinct name, id from A

执行后结果如下:

实际上是根据name和id两个字段来去重的,这种方式Access和SQL Server同时支持。

示例2.2

select distinct xing, ming from B

返回如下结果:

返回的结果为两行,这说明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 如何运用.? 求高手 ..

distinct 是取得所有查询字段不重复的记录。而您要的是出报表时不显示后面的重复值,只能用特殊方法,我想,您可以通过第三列或者某一列是否为空来确定是否显示第二列的值,这样你看是否可以:

SELECT FIELD1,FIELD2=CASE WHEN FIELD3='' THEN '' ELSE FIELD2 END,FIELD3,FIELD4,FIELD5,FIELD6 .....FIELDN from tablename --注:请将FILED1,2,3,N等换成你表中的字段。

distinct语句

看来你还不清楚distinct和group的区别

distinct是一摸一样的时候才会将两行合并

也就是说

1 0001 1234

1 0001 4321

这两行并不会合并只对于

1 0001 1234

1 0001 1234

这两行才会合并

数据库中 DISTINCT 的作用是什么?

SQL数据库中,?DISTINCT表示去掉重复的行,作用是针对包含重复值的数据表,用于返回唯一不同的值。语法是SELECT DISTINCT 列名称 FROM 表名称。如果指定了 SELECT DISTINCT,那么 ORDER BY 子句中的项就必须出现在选择列表中,否则会出现错误。

对于?DISTINCT关键字,如果后面有多个字段,则代表着是多条件去重,只有当这几个条件都相同时才算是重复记录。

扩展资料:

用法说明如下:

SELECT DISTINCT 列名称 FROM 表名称使用 DISTINCT 关键词

如果要从 "Company" 列中选取所有的值,需要使用 SELECT 语句:

SELECT Company FROM Orders"Orders"表:

Company OrderNumber

IBM 3532

W3School 2356

Apple 4698

W3School 6953

结果:

Company

IBM

W3School

Apple

W3School

尽管DISTINCT用于过滤重复记录。 但是通常在使用时,仅使用其来返回唯一记录的数量,而不是使用其来返回非重复记录的所有值。 原因是DISTINCT只能通过双循环查询来解决,这无疑将直接影响具有大量数据的站点的效率。

(责任编辑:IT教学网)

更多

推荐网络媒体文章