티스토리 뷰
아래와 같은 데이터가 있습니다.
mysql> select sipv4,timestamp,bytes from oops;
+-----------+-----------+---------+
| sipv4 | timestamp | bytes |
+-----------+-----------+---------+
| 171115273 | 9 | 40 |
| 169152406 | 10 | 2772021 |
| 169152406 | 10 | 142312 |
| 174325910 | 10 | 51029 |
| 169152406 | 11 | 1254172 |
| 171115273 | 15 | 3192 |
| 169152406 | 14 | 132 |
| 169152406 | 15 | 11516 |
| 171115273 | 16 | 2883472 |
| 171115273 | 16 | 2801983 |
| 172464385 | 19 | 2681305 |
| 172464385 | 19 | 1300716 |
| 171115273 | 17 | 111969 |
+-----------+-----------+---------+
13 rows in set (0.00 sec)
이 데이터를 아래와 같은 형태로 출력하는게 목표입니다.
+-----------+------+---------+---------+------+------+------+-------+---------+--------+------+
| sipv4 | t9 | t10 | t11 | t12 | t13 | t14 | t15 | t16 | t17 | t18 | ........
+-----------+------+---------+---------+------+------+------+-------+---------+--------+------+
| 169152406 | NULL | 2914333 | 1254172 | NULL | NULL | 132 | 11516 | NULL | NULL | NULL | ........
| 171115273 | 40 | NULL | NULL | NULL | NULL | NULL | 3192 | 5685455 | 111969 | NULL | ........
| 172464385 | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | ........
| 174325910 | NULL | 51029 | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | ........
+-----------+------+---------+---------+------+------+------+-------+---------+--------+------+
4 rows in set (0.00 sec)
쿼리를 바로 확인해보도록 합니다.
select sipv4
, sum(case when timestamp = '9' then bytes end) as t9
, sum(case when timestamp = '10' then bytes end) as t10
, sum(case when timestamp = '11' then bytes end) as t11
, sum(case when timestamp = '12' then bytes end) as t12
, sum(case when timestamp = '13' then bytes end) as t13
, sum(case when timestamp = '14' then bytes end) as t14
, sum(case when timestamp = '15' then bytes end) as t15
, sum(case when timestamp = '16' then bytes end) as t16
, sum(case when timestamp = '17' then bytes end) as t17
, sum(case when timestamp = '18' then bytes end) as t18
from oops
group by sipv4;
각 내용의 합을 구하는 SUM과 테이블 이름 변환을 위해 사용한 AS 말고는 특별한 내용이 없습니다.
머리로는 될것같은데.. 막상 쿼리 만드는게 쉽지는 않네요~
일단, 예제 차원에서 포스팅해놓습니다.
'개발 > DB' 카테고리의 다른 글
[mysql] 접속 아이디와 패스워드의 매핑 (0) | 2015.06.25 |
---|---|
[mysql] unixtime 갖고 놀기 (0) | 2014.03.20 |
[mysql] concat() (0) | 2013.09.26 |
[mysql] 프로시져 등록 (0) | 2013.07.15 |
[mysql] mysql 상태보기 (0) | 2013.07.08 |
댓글
최근에 올라온 글
최근에 달린 댓글
글 보관함
- Total
- Today
- Yesterday