programing

열에서 중복 항목 찾기

telebox 2023. 3. 28. 21:35
반응형

열에서 중복 항목 찾기

표 1에서 중복된 CTN 레코드를 찾기 위해 이 쿼리를 씁니다.따라서 CTN_NO가 2회 이상 표시될 경우 맨 위에 있는 SELECT * 스테이트먼트 출력으로 표시해 주었으면 합니다.

다음 서브쿼리 논리를 시도했지만 풀(pull)이 필요합니다.

  SELECT *
         table1 
   WHERE S_IND='Y'
     and CTN_NO = (select CTN_NO 
                     from table1 
                    where S_IND='Y' 
                      and count(CTN_NO) < 2);
order by 2

사용방법:

  SELECT t.ctn_no
    FROM YOUR_TABLE t
GROUP BY t.ctn_no
  HAVING COUNT(t.ctn_no) > 1

...가 당신에게 보여줄 것입니다.ctn_no중복된 값이 테이블에 있습니다.WHERE에 기준을 추가하면 중복되는 항목을 추가로 조정할 수 있습니다.

  SELECT t.ctn_no
    FROM YOUR_TABLE t
   WHERE t.s_ind = 'Y'
GROUP BY t.ctn_no
  HAVING COUNT(t.ctn_no) > 1

복제와 관련된 다른 열 값을 보려면 자체 결합을 사용합니다.

SELECT x.*
  FROM YOUR_TABLE x
  JOIN (SELECT t.ctn_no
          FROM YOUR_TABLE t
      GROUP BY t.ctn_no
        HAVING COUNT(t.ctn_no) > 1) y ON y.ctn_no = x.ctn_no

이 쿼리를 사용해 보십시오.분석 함수 SUM을 사용합니다.

SELECT * FROM
(  
 SELECT SUM(1) OVER(PARTITION BY ctn_no) cnt, A.*
 FROM table1 a 
 WHERE s_ind ='Y'   
)
WHERE cnt > 2

ctn_no가 2회 이상 반복되면 레코드를 복제로 식별하는 이유를 알 수 없습니다.내가 보기에 그것은 중복된 것 이상 반복된다.이 경우 쿼리의 las 부분을 다음과 같이 변경합니다.WHERE cnt > 1

언급URL : https://stackoverflow.com/questions/4522431/find-duplicate-entries-in-a-column

반응형