며칠동안 DISTINCT, GROUP BY, ROW_NUMBER() OVER (PARTITION BY) 등등 해도 원하는 결과가 나오지 않아서 질문 드립니다. D
현재 데이터는 아래와 같이 각 시간마다 4개의 데이터가 있는데 이것을 중복되는 칼럼은 묶어서 하나로 표현하고 싶습니다.
중복되는 칼럼의 값은 시간인데 동일한 값을 하나로 묶어서 1시에 A , 1시에 B, 1시에 C 이렇게 되어 있는 것을 1시에 A, B, C 값을 모두 보여주고 싶습니다. 조언 부탁드리겠습니다. 즐거운 하루 되세요.
<현재 데이터>
+---------+----------+--------+---------+--------+--------------------+-------+---+-------+-------+
| YEAR| MONTH| DAY| HOUR|YYYYMMDD |A | B | C | D |
+---------+----------+--------+---------+--------+--------------------+-------+---+-------+-------+
| 2018| 01| 01| 00|20180101 | 199.0|0.0| 0.0| 0.0|
| 2018| 01| 01| 00|20180101 | 0.0|2.0| 0.0| 0.0|
| 2018| 01| 01| 00|20180101 | 0.0 0.0|0.09375| 0.0|
| 2018| 01| 01| 00|201801010.0 | 0.0 | 0.0|0.21875|
| 2018| 01| 01| 01|20180101 |201.0|0.0| 0.0| 0.0|
| 2018| 01| 01| 01|20180101 |0.0|0.0| 0.0| 0.0|
| 2018| 01| 01| 01|20180101 |0.0|0.0|0.15625| 0.0|
| 2018| 01| 01| 01|20180101 |0.0|0.0| 0.0| 0.25|
| 2018| 01| 01| 02|20180101 |197.0|0.0| 0.0| 0.0|
| 2018| 01| 01| 02|20180101 |0.0|0.0| 0.0| 0.0|
| 2018| 01| 01| 02|20180101 |0.0|0.0| 0.125| 0.0|
| 2018| 01| 01| 02|20180101 |0.0|0.0| 0.0|0.21875|
+---------+----------+--------+---------+--------+--------------------+-------+---+-------+-------+
<원하는 데이터>
+---------+----------+--------+---------+--------+--------------------+-------+---+-------+-------+
| YEAR | MONTH| DAY| HOUR|YYYYMMDD |A | B | C | D |
+---------+----------+--------+---------+--------+--------------------+-------+---+-------+-------+
| 2018| 01| 01| 00|20180101 | 199.0|2.0|0.09375|0.21875|
| 2018| 01| 01| 01|20180101 |201.0|0.0|0.15625| 0.25|
| 2018| 01| 01| 02|20180101 |197.0|0.0| 0.125|0.21875|
| 2018| 01| 01| 03|20180101 |197.0|0.0| 0.0| 0.0|
| 2018| 01| 01| 04|20180101 |197.0|0.0| 0.0| 0.0|
+---------+----------+--------+---------+--------+--------------------+-------+---+-------+-------+
SELECT YEAR, MONTH, DAY, HOUR, YYYYMMDD, SUM(A) AS A, SUM(B) AS B, SUM(C) AS C, SUM(D) AS D
FROM 테이블
GROUP BY YEAR, MONTH, DAY, HOUR, YYYYMMDD