Oracle SQL-与被抑制行数不同
当我在sql中使用DISTINCT子句时,如何添加最后一列,其中行数被“抑制”(因为它们相等)。您不能直接使用Oracle SQL-与被抑制行数不同,sql,oracle,count,distinct,rownum,Sql,Oracle,Count,Distinct,Rownum,当我在sql中使用DISTINCT子句时,如何添加最后一列,其中行数被“抑制”(因为它们相等)。您不能直接使用DISTINCT。您可以在子查询中添加一个分析的count(),然后应用distinct,但是使用聚合的count()和分组方式更简单。您必须在group by子句中包含所有现有的select列表项 如果你有这样一张桌子: create table t42 (col1 number, col2 varchar2(10)); insert into t42 values (42, 'AAA
DISTINCT
。您可以在子查询中添加一个分析的count()
,然后应用distinct
,但是使用聚合的count()
和分组方式更简单。您必须在group by
子句中包含所有现有的select列表项
如果你有这样一张桌子:
create table t42 (col1 number, col2 varchar2(10));
insert into t42 values (42, 'AAA');
insert into t42 values (42, 'AAA');
insert into t42 values (42, 'BBB');
insert into t42 values (42, 'BBB');
insert into t42 values (42, 'BBB');
insert into t42 values (43, 'AAA');
您目前正在执行以下操作:
select distinct col1, col2
from t42
order by col1, col2;
COL1 COL2
---------- ----------
42 AAA
42 BBB
43 AAA
要获取副本的数量,可以执行以下操作:
select col1, col2, count(*)
from t42
group by col1, col2
order by col1, col2;
COL1 COL2 COUNT(*)
---------- ---------- ----------
42 AAA 2
42 BBB 3
43 AAA 1
谢谢这比我期望的更复杂,但有效。