[英]fetch records from table ordered by column value
I have a table with a column to maintain the state of the record. 我有一个带有列的表来维护记录的状态。 ie
即
-----------------------------
| id | desc | state |
-----------------------------
| 1 | desc 1 | Complete |
| 2 | desc 2 | Open |
| ... | ... | ... |
-----------------------------
I want fetch the records in the order of 'Open' followed by 'Complete'. 我想按“打开”后跟“完成”的顺序获取记录。 Can I get this done using one SQL query?
我可以使用一个SQL查询完成此操作吗? If so, how should I write it?
如果是这样,我应该怎么写?
是的,您可以使用ORDER BY语句和FIELD函数来执行此操作:
SELECT * FROM table1 ORDER BY FIELD(state, 'Open', 'Complete')
Try something like this: 尝试这样的事情:
select *
from table_name
order by decode (state, 'Open', 1, 'Complete', 2, 3)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.