본문 바로가기
MySql

MySQL Postgresql에서 MySQL의 ORDER BY FIELD () 시뮬레이션

by 베이스 공부 2021. 1. 23.
반응형

MySQL에서 처음으로 PostgreSQL을 사용해보십시오. Rails 애플리케이션에는 다음과 같은 SQL이있는 몇 개의 위치가 있습니다.

SELECT * FROM `currency_codes` ORDER BY FIELD(code, 'GBP', 'EUR', 'BBD', 'AUD', 'CAD', 'USD') DESC, name ASC

이것이 PostgreSQL에서 지원 / 허용되지 않음을 발견하는 데 오래 걸리지 않았습니다.

누구든지 PostgreSQL에서이 동작을 시뮬레이션하는 방법을 알고 있습니까? 아니면 코드에서 정렬을해야합니까?

 

해결 방법

 

아, gahooa는 너무 가까웠습니다.

SELECT * FROM currency_codes
  ORDER BY
  CASE
    WHEN code='USD' THEN 1
    WHEN code='CAD' THEN 2
    WHEN code='AUD' THEN 3
    WHEN code='BBD' THEN 4
    WHEN code='EUR' THEN 5
    WHEN code='GBP' THEN 6
    ELSE 7
  END,name;

 

참조 페이지 https://stackoverflow.com/questions/1309624

 

 

반응형

댓글