programing

MYSQL 고유 열 행 쌍 쿼리

copysource 2023. 2. 3. 23:14
반응형

MYSQL 고유 열 행 쌍 쿼리

같은 연락처에 여러 엔트리가 있지만 데이터가 다른 연락처 테이블을 상상해 보십시오.이 데이터를 검토하려면 어떻게 해야 할까요?불행히도, 시각적으로 식별 가능한 오류 데이터가 존재할 수 있기 때문에 이러한 종류의 병합은 불쾌할 것이다.

FName         LName           Email           Phone
Heywood       Yapinchme                       555-555-555
Heywood       Yapinchme       hy@moes.com               
Seymour       Butz            sb@moes.com   
Seymour       Butz                            555-555-556
Seymour       Butz            
Hughe         Jass            hj@moes.com     555-555-557
Amanda        Hugginkiss      ah@moes.com

두 개 이상의 항목이 있는 처음 두 열의 중복만 보고 싶습니다.

FName         LName           Email           Phone
Heywood       Yapinchme                       555-555-555
Heywood       Yapinchme       hy@moes.com               
Seymour       Butz            sb@moes.com   
Seymour       Butz                            555-555-556
Seymour       Butz            

검토의 다음 단계는 블루에테르에 있습니다.현재 100만 행이 조금 넘는 바트는 바쁘게 지내고 있습니다.단, 고강도 서버는 일반적인 운용이 아니라 데이터 이행에 대처하기 위한 일회성이기 때문에 약간의 상처가 있을 수 있습니다.

제가 조금 해봤는데SELECT DISTINCT그리고.GROUP BY각각의 접촉마다 다시 켜지는 것 같아.

집약을 사용하여 중복을 식별할 수 있습니다.

SELECT FName, LName
FROM tablename
GROUP BY FName, LName
HAVING COUNT(*) > 1

중복된 모든 행을 원하는 경우:

SELECT *
FROM tablename
WHERE (FName, LName) IN (
  SELECT FName, LName
  FROM tablename
  GROUP BY FName, LName
  HAVING COUNT(*) > 1
)

MySql/MariaDB 버전이 창 기능을 지원하는 경우:

SELECT t.*
FROM (
  SELECT *, COUNT(*) OVER (PARTITION BY FName, LName) counter
  FROM tablename
) t
WHERE t.counter > 1

언급URL : https://stackoverflow.com/questions/65526324/mysql-distinct-column-row-pair-query

반응형