sql - 按特定字段值排序SQL查询

标签 sql firebird

我有一个SQL查询(使用Firebird作为RDBMS),在该查询中,我需要按字段“ EDITION”对结果进行排序。但是,我需要按字段的内容排序。即“ NE”排在第一位,“ OE”排在第二位,“ OP”排在第三位,空白排在最后。不幸的是,我不知道如何实现这一目标。我所做的只是ORDER BY [FIELD] ASC / DESC而已。

有什么建议?

编辑:我真的应该澄清:我只是希望在这里学习更多。现在,我只有多个选择语句定义要首先显示的内容。查询是相当大的,我真的希望学习一种更有效的方法:
例:

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 

关于sql - 按特定字段值排序SQL查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/398468/

相关文章:

mysql - 使用 mysql 查询返回所有子类别

Firebird和Table,字段名小写

Qt 5.x。编译 IBASE plagin Ubuntu 16.10

firebird - 为什么在打开 Firebird 数据库时会出现不受支持的磁盘结构错误?

python - SQLAlchemy:成功插入但随后引发异常

sql - 需要有关汽车公司 ER 图的帮助

php - MySql 批量插入

firebird - 如何设置初始发电机值?

mysql - MAX 或 ALL in sql

php - 如何调整研究的这个问题?