在Oracle中为特定列使用distinct

时间:2016-01-03 10:47:39

标签: sql oracle distinct

在oracle中可以进行Followinq查询

select DISTINCT(COLA), COLB 
from TABLEA

在此查询中

  1. 此查询是否会返回COLA和COLB组合的不同值?
  2. 如果此查询仅为COLA返回不同的值,那么选定COLA的COLB值应该是什么?
  3. 或者,如果我们有多个具有相同COLA值的记录,此查询是否会抛出错误?

1 个答案:

答案 0 :(得分:1)

在您的示例中,查询返回COLA和COLB组合的不同值。

检查语法: enter image description here

请注意, DISTINCT / UNIQUE / ALL 只能放在SELECT之后和选择列表中第一个表达式之前。

文件说:
https://docs.oracle.com/cd/B19306_01/server.102/b14200/statements_10002.htm

  

DISTINCT | UNIQUE

     

如果希望数据库只返回一个,请指定DISTINCT或UNIQUE   选中的每组重复行的副本。这两个关键字是   的代名词。重复行是每个行具有匹配值的行   表达式在选择列表中。

     

所有

     

如果希望数据库返回所有选定的行,请指定ALL,   包括重复的所有副本。默认值为ALL。

上述方法,DISTINCT / UNIQUE始终应用于整个选择列表,而不是单个列