본문으로 바로가기

[MySql] Rows to Columns 팁

category Helloworld!/MySql 2016. 3. 23. 14:13
sum

이렇게 생긴 테이블을


테이블명 : HISTORY_EXTENDED


HOST_ID 

ITEM_NAME 

ITEM_VALUE 

10 

40 



이렇게 바꾸는 방법


HOST_ID 

10 

40 



1. SUM 으로 하는 방법

SELECT
    HOST_ID,
    SUM(A) AS A,
    SUM(B) AS B,
    SUM(C) AS C
FROM HISTORY_EXTENDED
GROUP BY HOST_ID

2. CASE WHEN ~ THEN 으로 하는 방법

SELECT
   HOST_ID,
   CASE WHEN ITEM_NAME = "A" THEN ITEM_VALUE END AS A,
   CASE WHEN ITEM_NAME = "B" THEN ITEM_VALUE END AS B,
   CASE WHEN ITEM_NAME = "C" THEN ITEM_VALUE END AS C
FROM HISTORY_EXTENDED


참고사이트

http://stackoverflow.com/questions/1241178/mysql-rows-to-columns