DISTINCT删除重复行

原创 2004年07月06日 23:38:00
DISTINCT

在处理完选择列表之后,生成的表可以删除重复行. 我们可以直接在 SELECT 后面写上 DISTINCT 关键字来实现这个目的:

SELECT DISTINCT select_list ...

(如果不用 DISTINCT 你可以用 ALL 选择保留所有行的缺省行为.)

显然,如果两行里至少有一个列有不同的值,那么我们认为它是 独立的.NULL 在这种考虑中认为是相同的.

另外,我们还可以用任意表达式来判断什么行可以认为是独立的:

SELECT DISTINCT ON (expression [, expression ...]) select_list ...

这里 expression 是任意值表达式, 它为所有行计算.如果一个行集合里所有行计算出的该表达式的值 是一样的,那么我们认为它们是重复的并且因此只有第一行保留在 输出中.请注意这里的一个集合的"第一行"是不可 预料的,除非你在足够多的字段上对该查询排了序,保证到达 DISTINCT 过滤器的行的顺序是唯一的.(DISTINCT ON 处理是发生 在 ORDER BY 排序后面的.)

DISTINCT ON 子句不是 SQL 标准的一部分,有时候有人认为它 是一个糟糕的风格,因为它的结果是不可判定的.如果用有选择的 GROUP BY 和在 FROM 中的子查询,那么我们可以避免使用这个构造, 但是通常它是更方便的候选方法.

关于用distinct实现对单列去重后显示多行数据

在使用mysql时,有时需要查询出某个字段不重复的记录,虽然mysql提供有distinct这个关键字来过滤掉多余的重复记录只保留一条,但往往只用它来返回不重复记录的条数,而不是用它来返回不重记录的所...
  • u012313826
  • u012313826
  • 2014-09-27 08:59:33
  • 6695

关于select中DISTINCT的技巧和使用

偶然在一个论坛看到了一个关于DISTINCT的技巧和用法.是一个版主写的.觉得可能会对一些人有帮助.所以转载而来.方便大家  以下是转载内容单表的唯一查询用:distinct多表的唯一查询用:grou...
  • Beau_Su
  • Beau_Su
  • 2010-04-26 11:46:00
  • 52428

MySQL中distinct和group by过滤删除重复行

mysql中distinct就是可以直接去重的而group by 是分组显示的,但是有朋友在应用中可能会发现distinct并不像官方讲得那有实用了,下面我来介绍一下它们是怎么过滤删除重复行. 先来...
  • u011781769
  • u011781769
  • 2015-09-15 17:48:20
  • 4730

关于ACCESS中重复行的处理

ACCESS中重复行的处理 ACCESS中,使用distinct和group by后,如果在java中使用rs.next()的话,就会提示“无效的游标”错误。但是,并非不支持上面两个语法。所以,可以通...
  • fu9958
  • fu9958
  • 2010-05-05 15:44:00
  • 552

mysql 去除重复 Select中DISTINCT关键字的用法

http://www.cnblogs.com/daiye/archive/2009/11/10/1599977.html在使用mysql时,有时需要查询出某个字段不重复的记录,虽然mysql提供 ...
  • ztguang
  • ztguang
  • 2016-03-30 10:36:56
  • 284

distinct用法和优化

正确的语法 select distinct c
  • shengshiqing
  • shengshiqing
  • 2014-06-15 19:14:58
  • 1267

distinct用法(消除行中重复的记录)

只有单列情况: select distinct column1 from table; 表示消除column1列重复值的行 当有多列时: select distinct column1,colu...
  • swjtuzbko
  • swjtuzbko
  • 2015-05-24 17:00:52
  • 273

distinct和group by 去掉重复数据分析

详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp40 用distinct关键字只能过滤查询字段中所有记录相同的(记录集相同...
  • yemou_blog
  • yemou_blog
  • 2015-12-14 11:16:09
  • 4894

SQL语句distinct的多列问题

distinct 多列问题结合group by的解决方法 表 table1  id RegName PostionSN PersonSN  1 山东齐鲁制药 223 2  ...
  • jimlong
  • jimlong
  • 2012-05-15 23:51:43
  • 11687

SQL:DISTINCT 去除重复

1.作用于单列2.作用于多列3.COUNT统计4.distinct必须放在开头5.其他 在表中,可能会包含重复值。这并不成问题,不过,有时您也许希望仅仅列出不同(distinct)的值。关键...
  • QingHeShiJiYuan
  • QingHeShiJiYuan
  • 2015-12-26 23:53:13
  • 81446
收藏助手
不良信息举报
您举报文章:DISTINCT删除重复行
举报原因:
原因补充:

(最多只允许输入30个字)