728x90
반응형
사용자 통계를 뽑아야 한다.
검색 조건은 고객사 별로 뽑아야 하고,
자 천천히 생각을 해보자.
1. 로그 정보 + 고객 정보
액션 로그 테이블과, 고객 테이블을 기준으로 user_seq 가 일치하는걸 추출 🤣
액션 로그에는 데이터가 존재하지 않지만
고객정보에 존재한다면 그 고객의 NULL 인 데이터도 필요해
그러기 위해서 RIGHT OUTER JOIN 을 사용했다.
SELECT L.user_seq
, COUNT(L.action_seq) AS CNT
, L.action_seq
, U.user_seq
FROM ACTION_LOG_3 AS L RIGHT OUTER JOIN ( SELECT U.*
FROM USER U ) AS U
ON L.user_seq = U.user_seq
GROUP BY L.user_seq
, L.action_seq
;
2. 고객사와 JOIN
1 에서 구한 ( 로그 + 고객정보 ) 와 고객사의 정보와 ( 로그 + 고객정보 ) 를 JOIN
근데 왜 여기서 ,,는 1에서 구한 로그정보가 없는 고객 정보는 안나오는걸까.
SELECT TL1.user_seq AS user_seq,
C.com_name AS com_name,
C.com_seq AS com_seq
FROM ( SELECT COUNT(L.action_seq) AS CNT
, L.action_seq
, U.user_seq
FROM ACTION_LOG_3 AS L RIGHT OUTER JOIN ( SELECT U.*
FROM USER U ) AS U
ON L.user_seq = U.user_seq
GROUP BY L.user_seq
, L.action_seq
) TL1
, USER TU1
, COMPANY C
WHERE TU1.user_seq = TL1.user_seq
AND C.com_seq = TU1.com_seq
GROUP BY user_seq
;
아 모르겠다 망했다.
기껏 다 만들었는데,
로그 기록이 없는 사용자도 출력을 해야 된다는 것을 미리 파악하지 못한 탓에 망해버렸다.
분명히 OUTER JOIN 하면 될 것 같은데 안되서 망해버렸다.
기존 것 그대로 가져다 쓰게 생겼다.
정말 슬프다 . 🤣
728x90
반응형
'개발중 > MYSQL' 카테고리의 다른 글
mysql 권한이 있는지 확인하는 경우 (0) | 2021.06.22 |
---|---|
My sql Like 여러개 : ) (0) | 2021.05.27 |
MY SQL 테이블 복사 / 데이터 복사 (0) | 2021.05.12 |
MY SQL 액셀 문서 INSERT (0) | 2021.05.03 |
MYSQL 세로 통계를 가로 통계로 내고 싶을 때 (0) | 2021.04.28 |