데이터를 정렬할 때 mysql 에서 ORDER BY 구문에 여러 컬럼을 지정하여 정렬할 수 있다. 정렬의 대상이 되는 컬럼들은 콤마를 이용하여 나열되며 정렬 순서를 지정할 수 있다. 지정된 컬럼은 순차적으로 처리되며 콤마를 사용하면 컬럼을 몇 개를 지정하든 상관이 없다.
mysql order by ASC DESC 여러개 컬럼 정렬 순서
using mysql SELECT ORDER BY
SELECT 쿼리에서 데이터 정렬을 사용할 때 ORDER BY 명령어를 사용한다.
ORDER BY 를 사용할 때 여러 개의 컬럼들을 연달아 사용하여 복합적인 정렬을 상용할 수도 있다.
먼저 정렬이 필요한 컬럼들을 나열하고 정렬 방식을 지정한다.
여러 개의 컬럼은 콤마 ( , ) 키워드를 사용하여 나열할 수 있다.
콤마 키워드로 컬럼들을 나열하면 정렬의 대상이 되는 순서는 처음부터 나오는 컬럼부터 순차적으로 처리된다.
정렬순서와 관계
ORDER BY 를 이용하여 여러 개의 컬럼을 지정할 경우 콤마 ( , ) 키워드를 사용한다.
콤마 키워드를 사용하여 정렬의 대상이 되는 컬럼과 정렬 방식을 지정하여 나열하면 된다.
이 때 정렬이 되는 결과는 순차적으로 처리된다.
만약 ORDER BY 컬럼1 ASC , 컬럼2 DESC 라고 지정이 되었다면 컬럼1의 데이터를 오름차순하고 이 결과를 기준으로 컬럼2의 데이터를 내림차순한다.
아래는 여러 컬럼을 정렬하는 방법을 보여준다.
SELECT * FROM 테이블명
ORDER BY 컬럼명_1 정렬순서
, 컬럼명_2 정렬순서
, ~
샘플코드
위의 내용을 가지고 데이터 정렬에 대한 mysql 예제를 만들어 본다.
테이블의 생성부터 삭제까지 있으며 중간의 SELECT 구문과 ORDER BY 구문만 보면 된다.
ORDER BY 에 정렬이 되는 컬럼을 여러개 사용할 경우 콤마 ( , ) 키워드를 사용하며, 지정된 정렬방식은 순차적으로 처리된다.
/** tb_sample 테이블을 생성 */
CREATE TABLE tb_sample (
idx INT,
company VARCHAR(250),
title VARCHAR(250),
content TEXT,
insert_date DATETIME,
update_date DATETIME
)
;
/** tb_sample 테이블에 데이터 추가 */
INSERT INTO tb_sample ( idx, company, title, content, insert_date, update_date )
VALUES( '1', '현대자동차', '제목1', '내용1', NOW(), NOW() )
;
INSERT INTO tb_sample ( idx, company, title, content, insert_date, update_date )
VALUES( '2', '기아자동차', '제목2', '내용2', NOW(), NOW() )
;
INSERT INTO tb_sample ( idx, company, title, content, insert_date, update_date )
VALUES
( '3', '현대자동차', '제목3', '내용3', NOW(), NOW() )
;
INSERT INTO tb_sample ( idx, company, title, content, insert_date, update_date )
VALUES ( '4', '기아자동차', '제목4', '내용4', NOW(), NOW() )
;
INSERT INTO tb_sample ( idx, company, title, content, insert_date, update_date )
VALUES ( '5', '쌍용자동차', '제목5', '내용5', NOW(), NOW() )
;
SELECT * FROM tb_sample
;
SELECT * FROM tb_sample
ORDER BY company DESC
, title ASC
;
/** tb_sample 테이블 데이터 삭제 */
DELETE FROM tb_sample
;
/** tb_sample 테이블 데이터 완전 삭제 */
TRUNCATE tabLE tb_sample
;
/** tb_sample 테이블 삭제 */
DROP TABLE tb_sample
;
/*-----*/
코드는 길지만 중간에 있는 ORDER BY 구문만 보도록 한다.
ORDER BY compay DESC, title ASC 로 지정되어 있다.
여러 개의 컬럼과 정렬방식은 콤마 ( , ) 키워드를 사용하여 나열되고, 정렬에 대한 처리 순서는 순차적이다.
해당 쿼리를 해석하면 먼저 company 컬럼을 내림차순하여 정렬한 후 이 결과에서 다시 title 컬럼을 오름차순하는 결과를 볼 수 있다.
결과 화면을 보자.
'programming > DataManage' 카테고리의 다른 글
mysql null 값 체크 checking null value in mysql (0) | 2022.06.02 |
---|---|
mysql insert 테이블에 데이터 입력하기 using mysql insert statement (0) | 2022.05.31 |
mysql order by 정렬 사용 using mysql SELECT ORDER BY (0) | 2022.05.25 |
mysql SELECT 조건절 AND OR NOT 혼합 사용 using mysql SELECT conditions (0) | 2022.05.22 |
mysql select 조건절 not 사용 using mysql select not condition (0) | 2022.05.15 |
댓글