programing

Oracle에서 고유한 행 수를 계산하는 방법

sourcejob 2023. 4. 24. 23:08
반응형

Oracle에서 고유한 행 수를 계산하는 방법

열이 많은 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개의 고유 코드가 있으며, 각각의 코드가 몇 개 있는지 알 수 있습니다.

다른 방법

--오라클 테이블에 존재하는 유형 값의 수를 계산하는 방법:
select A_CDE, --카운트할 필요가 있는 값
count(*) as numInstances--각 값의 몇 개
from A_ARCH-- 테이블이 존재하는 경우
group by A_CDE-- 정렬 방법

어느 쪽이든, 다음과 같은 것을 얻을 수 있습니다.

A_CODE  Count(*)

1603    32

1600    2

1605    14

이런 테이블에서 모든 개별 행의 카운트를 원하는 것 같습니다.

select count(1) as c
from (
    select distinct *
    from tbl
) distinct_tbl;
SELECT DISTINCT  **col_name**, count(*) FROM **table_name** group by **col_name**

언급URL : https://stackoverflow.com/questions/26538625/how-to-count-unique-rows-in-oracle

반응형