DB/SQL

[DB/SQL] Order by 오름차순/내림차순 정렬하기

Chef.Yeon 2023. 3. 20. 17:51

오름차순 정렬

1. 성씨별 사람이 많은 순으로 데이터 정렬하기

group by를 사용해서 같은 name끼리 묶고, 각 범주의 개수를 세도록 하면 다음과 같은 결과를 얻을 수 있습니다.

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

이 데이터를 정렬하기 위해서는 order by와 어떤 필드를 사용해서 정렬할지를 작성해주면 됩니다.

범주의 개수 count(*)을 사용해서 오름차순 정렬하도록 하겠습니다.

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

 

내림차순 정렬

내림차순은 desc만 붙여주면 됩니다.

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

좋아요가 많은 순서대로 데이터 정렬하기

select * from checkins
order by likes desc

 

Where절과 Order by 사용하기

1. 웹개발 종합반의 결졔수단별 주문건수를 세어 오름차순 정렬하기

실행되는 순서는 다음과 같습니다.

orders 테이블 >  course_title이 '웹개발 종합반'인 데이터 > group by 를 통해 같은 payment_method 끼리 묶음 > select를 통해 payment_method 당 몇 개의 데이터가 있는지 세기 > order by를 통해 오름차순 정렬

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

2. Gmail을 사용하는 성씨별 회원수를 세어 내림차순 정렬하기

select name, count(*) from users
where email like '%gmail.com'
group by name
order by count(*) desc

문자열 정렬하기

한글, 알파벳 모두 정렬이 가능합니다.

select * from users
order by email

select * from users
order by name desc

728x90