테이블은 판다스 데이터프레임같이 데이터 정렬이 가능하다.
정렬에는 오름차순 정렬이 있고, 내림차순 정렬이 있다.
정렬을 해주는 키워드는 order by 로, 써야하는 위치가 중요하다.
books 테이블의 기본 화면이다.
여기서 author_lname 컬럼을 정렬해보겠다. 코드는
1
2
3
4
5
6
7
8
9
|
select author_lname from books order by author_lname;
select author_lname
from books
order by author_lname;
|
cs |
select author_lname from books order by author_lname;
가 정렬을 위한 코드이다.
books 테이블에서 author_lname컬럼을 정렬하고, author_lname컬럼을 보여줘라.
아래의 7행부터 쓴 코드는 1번행의 코드를 세줄에 나눠 쓴 코드이다.
보편적으로 코드를 알아보기 쉽게 , 나눠쓴다.
코드를 실행 시
위와 같이 컬럼이 알파벳순으로 정렬된 것을 볼 수 있다.
select author_lname from books order by author_lname ;
select author_lname from books order by author_lname asc;
(위의 두 코드 다 오름차순 정렬이다. asc 는 써도 되고 안써도 된다.)
기본적으로 order by 는 default 값이 asc 인 오름차순이다.
만약 내림차순으로 정렬을 하고 싶을 때는
select author_lname from books order by author_lname desc ;
내림차순을 하기 위한 desc 를 써준다.
그렇다면 두가지 이상으로 정렬하는 것도 가능할까?
가능하다. 그리고 각각 따로 오름차순, 내림차순의 정렬이 가능하다.
예를 들어보겠다.
1
2
3
|
select title, author_lname
from books
order by author_lname asc, title asc;
|
cs |
위의 코드를 실행시 , books 테이블의 author_lname 컬럼을 먼저 오름차순으로 정렬하고, 그 정렬한 상태에서 title
컬럼을 오름차순으로 정렬한다.
말로는 잘 이해가 안가지만,
실행화면으로 보면 이해가 간다.
위의 화면을 보면 먼저 author_lname 컬럼이 알파벳순으로 오름차순 정렬되어 있는 걸 볼 수 있다.
그리고 lname에서 같은 값이 존재할 시 그 안에서 title 컬럼이 오름차순으로 정렬된 것을 볼 수 있다.
title 컬럼 하나만 놓고 본다면 정렬 모양이 이상하다.
두개의 컬럼을 정렬하는 것을 예로 들었지만, 여러개도 가능하다. 정렬은 order by 뒤의 컬럼 순서대로 정렬된다.
'IT 프로그래밍 관련 > MySQL' 카테고리의 다른 글
MySQL 문자열에 포함된 단어 검색 like (0) | 2021.03.16 |
---|---|
MySQL limit 와 offset (0) | 2021.03.16 |
MySQL 문자열 함수들 (0) | 2021.03.16 |
MySQL data처리( select , update, delete ) (0) | 2021.03.15 |
MySQL 데이터 추가하기 (insert) (0) | 2021.03.15 |
댓글