我有一个SQL查询(使用Firebird作为RDBMS),在该查询中,我需要按字段“ EDITION”对结果进行排序。但是,我需要按字段的内容排序。例如,“ NE”排在第一位,“ OE”排在第二位,“ OP”排在第三位,空白排在最后。不幸的是,我不知道如何实现这一目标。我曾经做过的只是ORDER BY [FIELD] ASC / DESC而已。
有什么建议?
编辑:我真的应该澄清:我只是希望在这里学习更多。我现在有了它,只有多个select语句定义了要首先显示的语句。查询是相当大的,我确实希望学习一种更有效的方法:示例:
SELECT * FROM RETAIL WHERE MTITLE LIKE 'somethi%' AND EDITION='NE' UNION SELECT * FROM RETAIL WHERE MTITLE LIKE 'somethi%' AND EDITION='OE' UNION SELECT * FROM RETAIL WHERE MTITLE LIKE 'somethi%' AND EDITION='OP' UNION (etc...)
Order By Case Edition When 'NE' Then 1 When 'OE' Then 2 When 'OP' Then 3 Else 4 End