본문 바로가기

개발/Database

sql db table 중복 찾아내기

728x90

sql db table 중복 찾아내기


정규화 하거나 db정비 할 때 씀


1
2
3
4
5
6
7
8
SELECT
    gidx, gtype, home_name, away_name, COUNT(*)
FROM
    live_base_game
GROUP BY
    gameidx, gtype, dc_home_tid, dc_away_tid
HAVING 
    COUNT(*> 1
cs



having 썼을 때 특정 필드만 추출하기.

join을 이용함.


1
2
3
4
5
6
7
8
9
10
11
select * from player_map
where source_id in (
select pm.source_id from player_map pm
inner join (
    select *, count(*)
    from player_map
    group by
        source_id
    having count(*> 1
) pm2 on pm.source_id = pm2.source_id);
 
cs


end.



728x90
블로그 주인장입니다. 원하시는 정보는 얻으셨나요? 이 포스트에서 추가로 필요한 정보가 있으시면 여기에 남겨주세요.