-
[MySQL] 테이블 조회 정렬 (ORDER BY)데이터베이스/MySQL 2018. 1. 5. 11:09
▶MySQL 테이블 조회 정렬 (ORDER BY)
▶설명
테이블에서 SELECT로 데이터를 조회할 때, ORDER BY를 추가하여 지정된 컬럼을 기준으로 정렬 할 수 있습니다.
오름차순(ASC) 또는 내림차순(DESC) 두 가지 정렬 방법이 있습니다.
기본은 오름차순(ASC)입니다. (ASC 또는 DESC를 입력하지 않은 경우 ASC로 기본적으로 정렬합니다.)
컬럼명이아닌 컬럼 번호로 정렬을 지정할 수도 있습니다.
현재 조회한 컬럼을 기준으로 1번으로 시작합니다.
▶사용법
정렬하지 않은 경우
SELECT * FROM 테이블;
오름차순 정렬
SELECT * FROM 테이블 ORDER BY 컬럼1 ASC;
오름차순 정렬 (ASC 생략)
SELECT * FROM 테이블 ORDER BY 컬럼1;
내림차순 정렬
SELECT * FROM 테이블 ORDER BY 컬럼1 DESC;
여러 컬럼으로 정렬
SELECT * FROM 테이블 ORDER BY 컬럼1 [, 컬럼2, 컬럼3 ...];
조건식이 있는 경우 정렬
SELECT * FROM 테이블 WHERE 조건식 ORDER BY 컬럼1 [, 컬럼2, 컬럼3 ...];
컬럼 번호로 정렬
SELECT * FROM 테이블 WHERE 조건식 ORDER BY 컬럼 번호1 [, 컬럼 번호2, 컬럼 번호3 ...];
▶예제 쿼리 (Example Query)
age 오름차순 정렬
SELECT name, age FROM table_name ORDER BY age ASC;
age 오름차순 정렬 (ASC 생략)
SELECT name, age FROM table_name ORDER BY age;
age 내림차순 정렬
SELECT name, age FROM table_name ORDER BY age DESC;
age 내림차순, name 오름차순 정렬
SELECT name, age FROM table_name ORDER BY age DESC, name;
age 내림차순, name 오름차순 정렬 (컬럼 번호로 정렬)
SELECT name, age FROM table_name ORDER BY 1 DESC, 2;
조건식이 있는 경우 age 내림차순
SELECT name, age FROM table_name WHERE age < 21 ORDER BY age DESC;
'데이터베이스 > MySQL' 카테고리의 다른 글
[MySQL] 여러 문자열을 구분하여 하나의 문자열로 합치기 (CONCAT_WS 함수) (0) 2018.01.08 [MySQL] 여러 문자열를 하나의 문자열로 합치기 (CONCAT 함수) (0) 2018.01.08 [MySQL] 연산자 (Operator) (0) 2018.01.04 [MySQL] 테이블 조회 기본 (SELECT) (0) 2018.01.04 [MySQL] 컬럼 값을 하나의 문자열로 합치기 (GROUP_CONCAT 함수) (0) 2018.01.03