본문 바로가기
Back End/AWS & MySQL

MySQL 정렬하기 위한 order by

by healingmau 2022. 5. 16.

 

MySQL 정렬하기 위한 order by

 

참고할 기본 테이블!!

 


order by 정렬할 컬럼명 정렬옵션(asc 또는 desc)

 

order by는 데이터를

정렬할때 쓰입니다.

 

오름차순 정렬 asc, 디폴트

내림차순 정렬 desc

(order by 오른쪽에는 정렬할 컬럼명,

order by는 sql문 맨 마지막에 씁니다.)

 

a. 책 제목을 정렬하세요.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
-- 책 제목으로 정렬하세요.
 
-- 오름차순 asc, 디폴트로 생략 가능
select *
from books order by title;
 
select *
from books order by title asc;
 
 
-- 내림차순 desc
select *
from books order by title desc;
cs

 

b. 두개의 컬럼을 정렬할때

 

1
2
3
4
5
6
7
select *
from books
order by author_lname, author_fname;  
 
-- order by에 두개의 컬럼이 쓰일때,
-- 먼저 첫번째로 정렬하고, 정렬한게 같으면 두번째꺼로 정렬한다.
 
cs

 

 

c. 하나의 컬럼은 오름차순,

두번째 컬럼은 내림차순으로 정렬

 

1
2
3
4
5
select *
from books
order by author_lname, author_fname desc; 
 
-- 하나는 오름차순, 뒤에꺼는 내림차순으로 정렬
cs

 

 

d. 데이터를 가져와 하나로 묶고

컬럼명을 새롭게 만들었을때

그 컬럼명과 다른 컬럼명으로 내림차순 정렬

 

1
2
3
4
-- full name 을 내림차순으로 정렬하고, 책 페이지가 많은것부터 가져오세요.
 
select *, concat(author_fname, ' ', author_lname) as full_name
from books order by full_name desc, pages desc;
cs

 

 

e. order by에 컬럼명을

숫자로 불러올수 있다.

(MySQL는 1부터 시작함)

 

1
2
3
-- order by 에 숫자를 쓸수도 있다. (숫자는 컬럼, MySQL은 1부터 시작)
select *, concat(author_fname, ' ', author_lname) as full_name
from books order by 8 desc, pages desc;
cs

댓글