【发布时间】:2013-06-11 12:49:53
【问题描述】:
我有一个查询,但我想按以下顺序排列数据:
状态(所以我有顶部状态 = 1 和底部状态 2 的记录)
如果记录有
status = 1,则按以下顺序排列它们
一)CASE WHEN i.assigned_to = '.USER_ID.' THEN 0 ELSE 1 END
b)CASE WHEN (i.approved_by > 0 OR i.approved_on IS NOT NULL) THEN 0 ELSE 1 END
c)i.priority DESC
d)i.created_on ASC如果记录有
status = 2,则按completed_on DESC排序记录
这是我当前的语法,但我不知道如何拆分订单
ORDER BY
i.status ASC,
CASE WHEN i.assigned_to = '.USER_ID.' THEN 0 ELSE 1 END,
CASE WHEN (i.approved_by > 0 OR i.approved_on IS NOT NULL) THEN 0 ELSE 1 END,
i.priority DESC,
i.created_on ASC
我的查询当前对所有记录进行排序 a) 当 i.assigned_to = '.USER_ID.' 时的情况然后 0 否则 1 结束 b)(情况下(i.approved_by > 0 或 i.approved_on 不为空)THEN 0 ELSE 1 END) c) i.priority DESC d) i.created_on ASC
并且我希望它仅由 status = 1 订购,否则由 completed_on DESC 订购
【问题讨论】:
标签: mysql