我有一个有 2 列的表
id status
1 SUBMIT
2 CANCEL
3 UPDATE
4 CANCEL
5 SUBMIT
6 UPDATE
如果我做:
select * from table
我可以使用 MySQL 按我想要的顺序排序结果吗?
ASC 将是 CANCEL、SUBMIT、UPDATE 和 DESC 反过来。如果我想要一个不同的订单,比如提交、取消、更新怎么办?可能吗?
我有一个有 2 列的表
id status
1 SUBMIT
2 CANCEL
3 UPDATE
4 CANCEL
5 SUBMIT
6 UPDATE
如果我做:
select * from table
我可以使用 MySQL 按我想要的顺序排序结果吗?
ASC 将是 CANCEL、SUBMIT、UPDATE 和 DESC 反过来。如果我想要一个不同的订单,比如提交、取消、更新怎么办?可能吗?
如果我理解正确,这就是你需要的:
SELECT * FROM `Table` ORDER BY FIELD(status, 'SUBMIT', 'CANCEL', 'UPDATE');
您可以更改列值的顺序以符合您的需求。
对于您的情况::
Select status from table group by status
会给出你需要的结果
当您搜索mysql 自定义排序顺序时,您会发现很多示例。其中之一是order by case
select *
from mytable
order by case status when 'SUBMIT' then 1
when 'CANCEL' then 2
when 'UPDATE' then 3
end