쿼리 작성시 질문의 건 0 2 733

by 와니와플 [SQL Query] [2021.03.24 13:10:32]



해당 csv 파일을 mysql에 올렸습니다.

해당 파일의 row가 1억건 정도 됩니다.

CRDNO_ENC 기준으로, GONC_DTTI (X)가 출발 시간. GONC_STTN_ID (Y) 가 출발 지점

GOFC_DTTI (Z) 가 도착 시간, GOFC_STTN_ID (M) 가 도착 지점 입니다.

문제는 승차할 때는 카드를 태깅해서 X,Y는 찍히는데 (값이 들어오는데), 도착할 때는 환승하지 않는 이상 카드를 태깅하지 않아 Z,M은 NULL로 들어옵니다.

그러나 하루를 추적해서 보면, 다시 CRDNO_ENC를 기준으로 Z,M이 찍히고 다시 X,Y가 NULL로 들어와서 저는 이것을 그룹으로 묶어서 보려고하는데

아무리 짜도 정답이 나오지 않아, 이럴 경우 어떻게 쿼리를 작성하면 좋을 지 문의 드려 봅니다...!

 

제가 원하는 값은

CRDNO_ENC, GONC_DTTI, GONC_STTN_ID, GOFC_DTTI, GOFC_STTN_ID 가 꽉찬 형태의 쿼리 결과 값입니다..!

 

고수님들의 여러 조언 부탁 드립니다!

by 뉴비디비 [2021.03.24 22:23:54]

이런 형태를 의미하시는건가요?? 

WITH dataTbl AS (
	SELECT 'Sqrprncc1nh1fg==' AS CRDNO_ENC, '20190120181038' AS GONC_DTTI , '3102385' AS GONC_STTN_ID, NULL             AS GOFC_DTTI, NULL      AS GOFC_STTN_ID 
	UNION ALL		
	SELECT 'gpNIcHs/8zHDXQ==' AS CRDNO_ENC, '20190112040529' AS GONC_DTTI , '3100135' AS GONC_STTN_ID, NULL             AS GOFC_DTTI, NULL      AS GOFC_STTN_ID		
	UNION ALL		
	SELECT 'gpNIcHs/8zHDXQ==' AS CRDNO_ENC, NULL             AS GONC_DTTI , NULL      AS GONC_STTN_ID, '20190112040999' AS GOFC_DTTI, '3100135' AS GOFC_STTN_ID		
	UNION ALL		
	SELECT 'YZu5NjNphQK31w==' AS CRDNO_ENC, '20190109125008' AS GONC_DTTI , '3100931' AS GONC_STTN_ID, NULL             AS GOFC_DTTI, NULL      AS GOFC_STTN_ID		
	UNION ALL		
	SELECT 'YZu5NjNphQK31w==' AS CRDNO_ENC, NULL             AS GONC_DTTI , NULL      AS GONC_STTN_ID, '20190109225008' AS GOFC_DTTI, '3100931' AS GOFC_STTN_ID		
	UNION ALL		
	SELECT '9lu3l9JdsdyOyA==' AS CRDNO_ENC, '20190127083323' AS GONC_DTTI , '3102284' AS GONC_STTN_ID, NULL             AS GOFC_DTTI, NULL      AS GOFC_STTN_ID		
	UNION ALL		
	SELECT 'yIvly3yRr8J8jA==' AS CRDNO_ENC, '20190115185916' AS GONC_DTTI , '3102385' AS GONC_STTN_ID, NULL             AS GOFC_DTTI, NULL      AS GOFC_STTN_ID		
)
SELECT 
	CRDNO_ENC
	,MAX(IFNULL(GONC_DTTI,'')) AS GONC_DTTI
	,MAX(IFNULL(GONC_STTN_ID,'')) AS GONC_STTN_ID
	,MAX(IFNULL(GOFC_DTTI,'')) AS GOFC_DTTI
	,MAX(IFNULL(GOFC_STTN_ID,'')) AS GOFC_STTN_ID
FROM dataTbl
GROUP BY CRDNO_ENC

by 마농 [2021.03.25 02:46:10]

원본 대비 결과표 예시를 보여 주세요.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입