从按列排序的表中获取记录

问题描述 投票:0回答:2

我有一个带有列的表来维护记录的状态。即

-----------------------------
| id  | desc      | state    |
-----------------------------
| 1   | desc 1    | Complete |
| 2   | desc 2    | Open     |
| ... | ...       | ...      |
-----------------------------

我想按“打开”后跟“完成”的顺序获取记录。我可以使用一个SQL查询完成此操作吗?如果是这样,我该怎么写呢?

mysql sql
2个回答
2
投票

是的,您可以使用ORDER BY语句和FIELD函数执行此操作:

SELECT * FROM table1 ORDER BY FIELD(state, 'Open', 'Complete')

0
投票

尝试这样的事情:

select * 
from table_name 
order by decode (state, 'Open', 1, 'Complete', 2, 3)
© www.soinside.com 2019 - 2024. All rights reserved.