본문 바로가기

카테고리 없음

SQL 2주차 개발일지

2주차 학습내용

 

Group by, Order by 사용

 

Group by 란?

지정한 컬럼 내의공통된 값을 묶어 통계를 내는 쿼리이다.

공통된 값이 많을 때 통계를 내기 유용하다.

예를 들면 오른손 잡이냐 왼손잡이냐를 구분한 컬럼이 있을 경우

 

사용하는 브라우저의 종류, 휴대폰의 브랜드 등 공통된 값이 많을 때, 공통된 값들을 통계, 수치화 해주는 쿼리로 숫자의 차이를 금방 알 수 있게 해준다.

수치비교에 아주 좋은 쿼리

 

사용 예)

인터넷 브라우저를 통계 내는 경우

Select browser, count(*) from table
Group by browser

(컬럼명이 Browser일 경우)

 

결과는 아래와 같이 출력됨

Browser Count
구글 크롬 35
마이크로소프트 엣지 47
인터넷 익스플로러 11
네이버 웨일 9
파이어 폭스 15

 

 

Order by란

Order 영어 단어는 주문, 명령 이라는 뜻도 있지만 순서, 정리 라는 뜻도 있다.

말그대로 순서를 정하는 쿼리다.

 

위에서 Group by 만 사용 했을 때 결과 값을 보면 순서가 정해지지 않았다. 여기서 Order by를 추가한다면

Select browser, count(*) from table
Group by browser
Order by count (*)

예상 결과값은 아래와 같다.

Browser Count
네이버 웨일 9
인터넷 익스플로러 11
파이어폭스 15
구글 크롬 35
마이크로소프트 엣지 47

기본적으로 오름차순이다. Asc 라는 쿼리가 따로 있지만 생략 가능하다.

 

내림차순은 뒤에 desc를 붙여 주면 된다.

 

 

추가로 평균 값을 구하고 싶을 경우 값을 내고싶은 컬럼을 avg()로 처리 해주면 된다

값의 반올림을 할 수 있는 쿼리는 round() 이다.