반응형
이번에는 저번에 이어 일정 조건으로 그룹을 짓는 방법에 대해 알아보겠습니다.
group by는 말 그대로 같은 것 끼리 그룹을 짓는 것을 뜻합니다.
지난 포스트에서 사용한 DB와 TABLE을 그대로 사용해 보겠습니다.
먼저 where문을 사용하지 않고, 쿼리를 해보겠습니다.
1 | select Consumption,Time from All_Consumption_201510; | cs |
지난 포스트를 보시면 아시겠지만 270개나 되어 잘랐습니다^^;;
그럼 group by를 사용하여 그룹을 지어보겠습니다.
우선 Consumption 값으로 그룹을 지어보겠습니다.
1 | select Consumption,Time from All_Consumption_201510 group by Consumption; | cs |
Consumption이 같은 값끼리 그룹이 지어져 270 => 33개로 줄었습니다.
이번엔 자주 사용하는 Time 열을 가지고 group by 해 보겠습니다.
Time 열을 보면 년-월-일 시:분:초 로 구분되어 있는데 시간 기준으로 해보겠습니다.
1 | select Consumption,Time from All_Consumption_201510 group by HOUR(Time); | cs |
년-월-일 시 까지 같은 경우에만 그룹이 지어졌습니다.
하지만 Consumption의 값이 그룹의 첫번재 data의 값이 보여집니다.
여기에 수식을 넣어 sum을 해보겠습니다.
1 | select sum(Consumption),Time from All_Consumption_201510 group by HOUR(Time); | cs |
각 그룹의 sum 값이 출력되었습니다. 위 쿼리결과와 차이가 보이시나요?
그룹 갯수는 같지만 값이 달라졌습니다.
이번엔 일 기준입니다.
1 | select Consumption,Time from All_Consumption_201510 group by DAY(Time); | cs |
마찬가지로 group by만 해주게 되면 그룹의 첫번째 데이터 값만 출력됩니다.
각 그룹의 데이터 갯수를 나타나게 하겠습니다.
1 | select count(Consumption),Time from All_Consumption_201510 group by DAY(Time); | cs |
반응형
'Study > Database' 카테고리의 다른 글
mysql 한글 깨질때 (0) | 2016.08.10 |
---|---|
SQL (DATABASE) 명령어4-Having (0) | 2016.07.28 |
SQL (DATABASE) 명령어2-수식및 연산자 (0) | 2016.07.26 |
SQLite 사용하기!! (0) | 2015.10.15 |
SQL (Database) 명령어-기본명령어 (0) | 2015.10.02 |