pivot 하기
pivot 관련된 메서드는 없고 다음과 같이 수동으로 pivot된 테이블을 별도로 만들 수는 있습니다.
use sqldb;
create table pivotTest(
uName char(3),
season char(2),
amount int
);
insert pivotTest values ('김범수', '겨울', 10), ('윤종신', '여름', 15), ('김범수', '가을', 25), ('김범수', '봄', 3), ('김범수', '봄', 37)
, ('윤종신', '겨울', 40), ('김범수', '여름', 14), ('김범수', '겨울', 22), ('윤종신', '여름', 64);
select * from pivotTest;
SELECT
uName,
SUM(IF(season = '봄', amount, 0)) AS '봄',
SUM(IF(season = '여름', amount, 0)) AS '여름',
SUM(IF(season = '가을', amount, 0)) AS '가을',
SUM(IF(season = '겨울', amount, 0)) AS '겨울'
FROM
pivotTest
GROUP BY uName;
JSON 관련 함수
set @json = '{"jsontable":
[{"name":"임재범","height":182},
{"name":"이승기","height":182},
{"name":"성시경","height":186}
]}';
select json_valid(@json) as json_valid; -- json 형식에 만족하면 1, 아니면 0
select json_search(@json, 'one', 'name') -- 'all', 'one' 두 가지 가능. json에 '성시경'이란 value가 있는지 찾음
select json_extract(@json, '$.jsontable[2].name') -- jsontable의 2번째 내용의 name key에 할당된 value를 반환하라
select json_insert(@json, '$.jsontable[0].mDate', '2020-09-09') -- insert함
select json_replace(@json, '$.jsontable[0].name', '홍길동') -- 기존 value를 교체함
select json_remove(@json, '$.jsontable[0]'); -- 삭제
'DB, ORM > 🧊 MySQL' 카테고리의 다른 글
MySQL SQL문 기본 : CRUD, 연산자, 서브쿼리, etc... (0) | 2021.06.14 |
---|---|
inner join, outer join / union과 in/not in (0) | 2020.11.04 |
longtext, longblob 자료 출력 및 다운로드 (0) | 2020.10.31 |
MySQL 함수와 @변수의 사용 (0) | 2020.10.31 |
MySQL 데이터 형식, 형 변환 (0) | 2020.10.30 |