본문 바로가기

개발중/MYSQL

MYSQL 세로 통계를 가로 통계로 내고 싶을 때

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