MySQL - 如何按范围内的任意数字排序

标签 mysql select

我有一个管理状态数据的表:状态可以是 1、2 或 3。

我需要订购SELECT QUERY,首先是2,然后是3,然后是1 ...或任何我想要的命令。

最佳答案

您可以使用 mysql 的 FIELD() 函数进行自定义排序

SELECT * FROM table
ORDER BY FIELD(`status`,2,3,1)

或者你可以使用CASE

SELECT * FROM table
ORDER BY 
(CASE WHEN `status` =2 THEN 1
     WHEN `status` =3 THEN 2
     WHEN `status` =1 THEN 3
     ELSE END) ASC 

FIELD(str,str1,str2,str3,...)

关于MySQL - 如何按范围内的任意数字排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21242168/

相关文章:

php - 在 PHP 中检查日期是否早于 12 小时

使用 Null 值选择和计数

mysql - 根据状态选择记录(如果存在)

javascript - 使用下拉菜单显示表中的隐藏行

php - Doctrine 如何处理多个请求?

mysql - 如何通过从另一列插入一定数量的单词来填充一列?

mysql 从选择中选择

mysql - 在自增列上加唯一索引有意义吗?

mysql - #1064 - 内部查询的 SQL 语法错误

mysql - 选择具有 MAX(ad_number) 问题的查询