본문 바로가기

SQL

[SQL] order by (정렬)

# 정렬은 모든 과정을 마친 후에 마지막에 한다!

select name, count(*) from users u 
group by name
order by count(*)

# order by는 맨 마지막에, order by (+ 필드명)의 형태를 보인다

# 기본적으로 오름차순이다. (낮은 수부터 정렬 된다) 안 써도 되지만, asc라고도 쓴다

 

order by count(*) desc

# 내림차순은 다음과 같이, 맨 끝에 desc를 추가한다

 

SELECT * from checkins c 
order by likes desc

# group by와 order by는 꼭 묶어서 쓸 필요가 없다! (독립적으로도 사용이 가능하다)

 

SELECT name, count(*) from users u 
group by name
order by count(*)

# 실행 순서 : from -> group by -> select -> order by

 

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

 

Q. 웹개발 종합반의 결제수단별 주문건수 세어보기?

SELECT payment_method, count(*) from orders o 
where course_title = '웹개발 종합반'
group by payment_method
order by count(*)

# orders 테이블을 course_title의 웹개발 종합반으로 잘라서 그것을 payment_method로 묶어서 묶은 것을 통계를 내고, 마지막에 정렬을 한 것이다