mysql 查询排序问题:
加入我现在有一个 mysql 表,字段是:
field name | value |
---|---|
id | 主键 |
status | 1, 2, 3, 4 |
create_time | 创建时间 |
现在我想要一种排序,需要下面的条件:
- status=4 的数据在前面,且 status=4 的数据按照 create_time 倒叙排列
- 除了 status=4 的数据,其他数据根据 create_time 倒叙排列
想到的一种方法是:加一个 sort 的字段,让 status=4 的 sort 为 1,其他均为 0,然后 order_by -sort,-create_time,这样能够解决
但我不太想另加字段:
- 有没有不添加字段的解决方法呢?有没有遇到过这种情况的大神,怎么解决的?
- 在 django 中怎么解决呢?
order by field(status,4,0,1,2,3,。。。)