【问题标题】:Order by inside Case in Order ByOrder by inside Case in Order By
【发布时间】:2015-04-13 13:11:34
【问题描述】:

我有这个数据库

    ID  Title
    1   Unassaign
    6   Prima
    7   Adi

我想让ID 1 显示在最后,但另一个按标题排序

期望的结果:

    ID  Title
    7   Adi
    6   Prima
    1   Unassaign

这是我的代码:

SELECT a.ID_WB, a.TITLE, a.DESCRIPTION, a.AUTHOR, a.DATECREATE, a.DATEUPDATE
FROM WORKBOOK a
order by case when ID_WB = 1 then 1
else 0 end

我尝试在else 之后插入Order By,但它总是返回SQL 错误。 这个问题有解决方法吗? 谢谢

PS:第一个Order by应该按ID排序

【问题讨论】:

  • 将案例移至选择列表,并按该列排序?

标签: sql sql-order-by case firebird


【解决方案1】:

order by中使用两个表达式:

order by (case when ID_WB = 1 then 1 else 0 end), title

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-11-22
    • 2021-07-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多