我有一个包含许多列的Oracle数据库表格。我想要计算完全独特行的数量。我唯一能找到的是:
SELECT COUNT(DISTINCT col_name) FROM table;
然而,这需要我列出所有的列,但我还没有找到能够为我完成这个任务的语法。我猜想这是因为这个查询会非常低效?有什么推荐的方法吗?
怎么样?
SELECT COUNT(*)
FROM (SELECT DISTINCT * FROM Table)
这取决于你想要实现什么目标。为了获取特定列的不同行数,以便你知道存在哪些数据,以及有多少条不同的数据:
SELECT DISTINCT
A_CODE, COUNT(*)
FROM MY_ARCHV
GROUP BY A_CODE
--这告诉我有93个独特的代码,以及每个代码有多少个。
另一种方法
--如何计算Oracle表中某种类型值的数量:
select A_CDE
, --您需要计数的值
count(*) as numInstances
--每个值的数量
from A_ARCH
--它所在的表格
group by A_CDE
--排序方法
无论哪种方式,你都会得到像这样的结果:
A_CODE Count(*)
1603 32
1600 2
1605 14
SELECT DISTINCT **col_name**, count(*) FROM **table_name** group by **col_name**
select count(1) as c
from (
select distinct *
from tbl
) distinct_tbl;