반응형
Mysql에서 정렬은 order by 다음에 필드 그리고 DESC (내림차순), ASC (오름차순)으로 정렬을 하는것이다.
SELECT * FROM test
ORDER BY regdate DESC;
그리고 다중 정렬은 순서대로 쓰면 된다.
SELECT * FROM test
ORDER BY regdate DESC, name ASC;
그러면 사용자 정의 정렬 순서는 특정값을 우선으로 정렬할때는 FIELD 를 쓴다.
SELECT * FROM test
ORDER BY FIELD(컬럼1, 첫번째 정렬할 값, 두번째 정렬할 값, 세번째 정렬할 값, ...);
SELECT
CASE
WHEN user_group = 'group1' THEN 'R그룹'
WHEN user_group = 'group0' THEN 'S그룹'
WHEN user_group = 'group2' THEN 'A그룹'
WHEN user_group = 'group3' THEN 'B그룹'
WHEN user_group = 'group4' THEN '육성팀'
ELSE '없음'
END AS USER_GROUP
FROM user
ORDER BY
Field(USER_GROUP, 'R그룹', 'S그룹', 'A그룹', 'B그룹', '육성팀', '없음')
컬럼1의 값 중에 정렬할 값들 중에 해당하는 값이 없다면 0번째 순위를 갖는다.
또 다른 방법은 CASE 문을 써서 순서를 정하면 된다.
SELECT *
FROM test
ORDER BY CASE
WHEN `group` = 'B' THEN 1
WHEN `group` = 'C' THEN 2
ELSE 3
end;
반응형
'mysql' 카테고리의 다른 글
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements (1) | 2023.11.21 |
---|---|
phpMyAdmin 설치 방법 (2023년 9월) (0) | 2023.09.25 |
mysql error 1267 (HY000): Illegal mix of collations 해결 방법 (0) | 2023.09.01 |
[Mysql] Ubuntu linux Mysql 설치 및 초기 설정 (0) | 2023.09.01 |
Mysql 프로시져 확인 방법 (0) | 2019.11.01 |