[MySQL] ORDER BY 특정 값 우선 정렬 하기 (ORDER BY FIELD) > db

본문 바로가기
사이트 내 전체검색

db

[MySQL] ORDER BY 특정 값 우선 정렬 하기 (ORDER BY FIELD)

페이지 정보

작성자 서방님 댓글 0건 조회 154회 작성일 20-08-07 10:12

본문

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


991FAF485C69B90E0B




2. 쿼리 실행 결과


992F344C5C69AF7109


- 원하는대로 'BTC'가 첫번째, 'ETH'가 두번째, 그외 나머지는 오름차순으로 정렬되었다.


댓글목록

등록된 댓글이 없습니다.

회원로그인

접속자집계

오늘
15
어제
51
최대
1,347
전체
153,645
Latest Crypto Fear & Greed Index

그누보드5
Copyright © 서방님.kr All rights reserved.