我有一个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