[MySQL] ORDER BY 특정 값 우선 정렬 하기 (ORDER BY FIELD)
MySQL에서 ORDER BY 사용 시 특정한 값을 우선적으로 정렬
- FIELD 함수를 이용하여 특정한 값을 우선적으로 정렬 할 수 있다.
1. ORDER BY FIELD() 를 사용하여 'BTC'가 첫번째, 'ETH'가 두번째, 그외 나머지는 오름차순으로 정렬하기
1 2 3 4 5 6 7 | SELECT COIN_CD FROM COIN ORDER BY FIELD(COIN_CD, 'ETH', 'BTC') DESC, COIN_CD ASC | cs |
- FIELD 함수의 첫번째 파라미터에 정렬할 컬럼을 넣고, 그 이후 파라미터엔 우선적으로 정렬할 값들을 역순으로 넣어준다.
그리고 FIELD 함수를 DESC정렬 시켜주면 된다.
- 원리는 FIELD 함수를 사용하면 첫번째 파라미터의 값과 같은 값이 그 이후 파라미터의 몇번째에 있는지 index값을 반환한다.
즉 이후 파라미터의 첫번째에 있는 'ETH'는 1이 반환되고, 두번째에 있는 'BTC'는 2가 반환이 된다. 같은 값이 없는 나머지는 0이 반환된다.
이것을 DESC정렬하여 우선적으로 정렬되게 한다.
https://www.w3schools.com/sql/func_mysql_field.asp
2. 쿼리 실행 결과
- 원하는대로 'BTC'가 첫번째, 'ETH'가 두번째, 그외 나머지는 오름차순으로 정렬되었다.
출처: https://jabstorage.tistory.com/30 [개발 잡동사니 저장소]
'Database > mysql' 카테고리의 다른 글
레드햇 부팅시 mysql 자동시작(apache포함) (0) | 2020.07.13 |
---|---|
MYSQL DB생성 & 사용자계정생성 / 삭제 (0) | 2020.07.13 |
mysql 사용자등록,기본사용법 (0) | 2020.07.13 |
MYSQL - Tomcat 연동 (0) | 2020.07.13 |
Mysql 설치 (0) | 2020.07.13 |
[Mysql] GROUP_CONCAT 사용 방법 (0) | 2020.07.13 |
[Mysql] DB 이중화하기 (Replication) (0) | 2020.07.13 |
Mysql 기본 명령어 정리 (0) | 2020.07.13 |