728x90
반응형
내가 놓인 상황은 통계를 내는 과정에서 행으로 각 합을 뽑아야 하는 경우였다.
아래 함수를 이용해서 해결했다.
ORACLE 은 DECODE 로 하는데
MYSQL 은 아래처럼 대체 한다.
SELECT user_seq,
MAX(IF(action_seq = 1,CNT , 0)) AS CNT1,
MAX(IF(action_seq = 2,CNT, 0) )AS CNT2,
MAX(IF(action_seq = 3,CNT, 0) )AS CNT3,
MAX(IF(action_seq = 4,CNT , 0)) AS CNT4
FROM ( SELECT user_seq AS user_seq
, action_seq AS action_seq
, COUNT(action_seq) AS CNT
FROM ACTION_LOG_3
WHERE user_seq=1
GROUP BY user_seq, action_seq
) L GROUP BY user_seq ;
참고 사이트
https://gompangyi.tistory.com/5
https://m.blog.naver.com/vivacarla/221043512209
✨🔰 글이 도움이 되었다면 Click 🔰✨
728x90
반응형
'개발중 > MYSQL' 카테고리의 다른 글
MY SQL 테이블 복사 / 데이터 복사 (0) | 2021.05.12 |
---|---|
MY SQL 액셀 문서 INSERT (0) | 2021.05.03 |
LIMIT 페이징 성능 향상 (0) | 2021.02.26 |
HINT (0) | 2020.10.27 |
PLAN (0) | 2020.10.27 |