MySQL MySQL에서 중복 값 찾기

2018.06.15 15:18

졸리운_곰 조회 수:964

 

 

MySQL에서 중복 값 찾기

 
Answers
 
SELECT varchar_col
FROM table
GROUP BY varchar_col
HAVING count(*) > 1;
Question

varchar 열이있는 테이블이 있고이 열에 값이 중복 된 레코드를 모두 찾고 싶습니다. 복제본을 찾는 데 사용할 수있는 최상의 쿼리는 무엇입니까?

 
 

중복 행의 ID를 얻기위한 levik의 응답을 토대로 서버가 지원할 경우 GROUP_CONCAT 수행 할 수 있습니다 (쉼표로 구분 된 ID 목록이 반환 됨).

SELECT GROUP_CONCAT(id), name, COUNT(*) c FROM documents GROUP BY name HAVING c > 1;
 
 

@ maxyfc의 대답을 더 자세히 살펴보면 , 중복 값으로 반환 된 모든 행을 찾아야 만 MySQL Workbench 에서 편집 할 수 있습니다.

SELECT * FROM table
   WHERE field IN (
     SELECT field FROM table GROUP BY field HAVING count(*) > 1
   ) ORDER BY field
 
 

나는 어떤 복제본에도 많은 용도가있는 JOIN aproaches를 보지 않을 것입니다.

경축! 아무것도 안하여 에스천사게임즈가 새로운 모습으로 재오픈 하였습니다.
어린이용이며, 설치가 필요없는 브라우저 게임입니다.
https://s1004games.com

이 aproeach 실제로 두 배로 결과를 제공합니다.

SELECT t1.* FROM table as t1 LEFT JOIN table as t2 ON t1.name=t2.name and t1.id!=t2.id WHERE t2.id IS NOT NULL ORDER BY t1.name
 
 
CREATE TABLE tbl_master
    (`id` int, `email` varchar(15));

INSERT INTO tbl_master
    (`id`, `email`) VALUES
    (1, 'test1@gmail.com'),
    (2, 'test2@gmail.com'),
    (3, 'test1@gmail.com'),
    (4, 'test2@gmail.com'),
    (5, 'test5@gmail.com');

QUERY : SELECT id, email FROM tbl_master
WHERE email IN (SELECT email FROM tbl_master GROUP BY email HAVING COUNT(id) > 1)
 
   
 

위의 결과를 보았고 중복 된 단일 열 값을 검사해야하는 경우 쿼리가 제대로 작동합니다. 예를 들어 이메일.

그러나 더 많은 열을 확인하고 결과 조합을 확인하여이 쿼리가 올바르게 작동하는지 확인하려면 다음을 수행하십시오.

SELECT COUNT(CONCAT(name,email)) AS tot,
       name,
       email
FROM users
GROUP BY CONCAT(name,email)
HAVING tot>1 (This query will SHOW the USER list which ARE greater THAN 1
              AND also COUNT)
 
 

하나의 매우 늦은 공헌 ... 누군가가 줄을 서서 기다리는 데 도움이되는 경우 ... 은행 애플 리케이션에서 일치하는 쌍의 거래 (실제로 계좌 간 송금의 양측)를 찾고, 각 계좌 간 이체 거래의 '시작'과 '끝'이었기 때문에 다음과 같이 끝 냈습니다.

SELECT 
    LEAST(primaryid, secondaryid) AS transactionid1,
    GREATEST(primaryid, secondaryid) AS transactionid2
FROM (
    SELECT table1.transactionid AS primaryid, 
        table2.transactionid AS secondaryid
    FROM financial_transactions table1
    INNER JOIN financial_transactions table2 
    ON table1.accountid = table2.accountid
    AND table1.transactionid <> table2.transactionid 
    AND table1.transactiondate = table2.transactiondate
    AND table1.sourceref = table2.destinationref
    AND table1.amount = (0 - table2.amount)
) AS DuplicateResultsTable
GROUP BY transactionid1
ORDER BY transactionid1;

결과적으로 DuplicateResultsTable 은 일치하는 (즉 중복 된) 트랜잭션을 포함하는 행을 제공하지만 두 번째 동일한 쌍과 일치하는 동일한 트랜잭션 ID를 역순으로 제공하므로 첫 번째 트랜잭션 ID로 그룹화 할 외부 SELECT 가 있습니다. LEASTGREATEST 를 사용하여 두 개의 트랜잭션 LEAST 가 항상 같은 순서로 정렬되도록합니다. 그러면 첫 번째 트랜잭션에 의해 GROUP 에 대해 안전하게되므로 모든 중복 된 일치를 제거합니다. 약 2 백만 초에 약 백만 건의 레코드를 검색하고 12,000 개 이상의 일치 항목을 식별했습니다. 물론 transactionid가 중요한 인덱스이며, 이는 실제로 도움이되었습니다.

 
 
SELECT * 
FROM `dps` 
WHERE pid IN (SELECT pid FROM `dps` GROUP BY pid HAVING COUNT(pid)>1)
 
 
SELECT 
    t.*,
    (SELECT COUNT(*) FROM city AS tt WHERE tt.name=t.name) AS count 
FROM `city` AS t 
WHERE 
    (SELECT count(*) FROM city AS tt WHERE tt.name=t.name) > 1 ORDER BY count DESC
본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
공지 오라클 기본 샘플 데이터베이스 졸리운_곰 2014.01.02 87189
공지 [SQL컨셉] 서적 "SQL컨셉"의 샘플 데이타 베이스 SAMPLE DATABASE of ORACLE 가을의 곰을... 2013.02.10 79405
공지 [G_SQL] Sample Database 가을의 곰을... 2012.05.20 96121
42 블록체인 기반 플랫폼 비즈니스를 이해하자 졸리운_곰 2017.09.10 1567
41 다운타임 없는 서비스 구현 패턴 file 졸리운_곰 2017.09.10 1234
40 테이블의 수직분할과 수평분할에 대한 이해 file 졸리운_곰 2017.09.10 3917
39 정규화와 응집도에 대한 고찰 file 졸리운_곰 2017.05.28 1795
38 머신러닝 새 도전…“클라우드를 벗어나라" file 졸리운_곰 2017.05.28 1716
37 보안성 높이는 공공 거래장부 블록체인 file 졸리운_곰 2017.05.28 1779
36 디지털, 속도의 전쟁 VS 데이터, 품질의 전쟁 file 졸리운_곰 2017.05.05 1525
35 04. 데이터 모델링의 3단계 진행 file 졸리운_곰 2016.03.15 1667
34 데이터베이스 설계의 기본 원리.pdf file 졸리운_곰 2016.03.15 2361
33 실체유형(Entity Type) 정의 사항 및 도출 file 졸리운_곰 2015.05.21 2199
32 마농의 SQL 백문백답: 단순하고 쉽게 작성하는 SQL 노하우 [1회] file 졸리운_곰 2015.05.21 1836
31 sql개발자-sql전문가자격시험 시험 예제.pdf file 졸리운_곰 2015.02.15 2317
30 데이터베이스 선정에는 비밀이 있다 - 4부 졸리운_곰 2015.01.15 2108
29 데이터베이스 선정에는 비밀이 있다 - 3부 졸리운_곰 2015.01.15 2054
28 데이터베이스 선정에는 비밀이 있다 - 2부 졸리운_곰 2015.01.15 1838
27 데이터베이스 선정에는 비밀이 있다 - 1부 졸리운_곰 2015.01.15 2406
26 지금 우리에게 필요한 것은 데이터베이스 성능 최적화이다 (2부) 졸리운_곰 2015.01.15 1497
25 우리에게 필요한 것은 데이터베이스 성능 (1부) 졸리운_곰 2015.01.15 1836
24 21회 결과 secret 졸리운_곰 2014.11.10 0
23 [데이터아키텍쳐준전문가] 시험 fail 자료 secret 졸리운_곰 2014.08.31 0
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED