1

"ORDER BY FIELD"アクティブなレコードを実行しようとしています。私はそれができることを知っていますがMySQL、アプリにとらわれず、ベストプラクティスに従うようにしています。私の生産データベースはPostgreSQL

MySQLは次のようになります

SELECT id, name
FROM mytable
WHERE name IN ('B', 'A', 'D', 'E', 'C')
ORDER BY FIELD(name, 'B', 'A', 'D', 'E', 'C')
4

2 に答える 2

2

私はそれを実現しようとしていましたが、これが私が持ってきたものです。私はまだこれがもう少しきれいになることができると思います

Model.select(:id).select(:name).order("status = 'B' DESC, status = 'A' DESC, status = 'D' DESC, status = 'E' DESC, status = 'C' DESC")
于 2013-11-11T19:31:52.020 に答える