MySQL 按特定起始字符排序

标签 mysql

我的数据库包含一个字段,用于指定特定任务的熟练程度。它包括三个选项:初级、中级和专家。我想做的是找到一种简洁的方法来查询这些技能并按熟练程度对它们进行排序(从高到低在前)。

仅按字母数字字符对它们进行排序是行不通的,因为中间级会排在前面,而不是专家级。

除了更改字段值以使技能名称按字母顺序排序之外,是否有任何方法可以根据特定的起始字符进行简洁排序?

最佳答案

使用case运算符设置数值

SELECT CASE proficiency 
  WHEN 'beginner' THEN 1 
  WHEN 'intermediate' THEN 2 
  WHEN 'expert' THEN 3 
END as proficiencyLevel from tasks
ORDER BY proficiencyLevel;

关于MySQL 按特定起始字符排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31714362/

相关文章:

Java格式自定义日期到MySQL DATETIME

php - 同步本地和远程 MySQL 数据库

php - 新的 className 调用在 php 中不起作用

mysql - 按分数对 mysql 中的用户进行排名

php - 如何在PHP函数中使用Mysql数组的行?

mysql - 如何获取最小函数结果的列名?

mysql - 在 mysql 中查询以执行 not in 函数

php - 根据可选的表单输入搜索 MySQL 表

PHP 嵌套each/while

mysql - fatal error : Can't open and lock privilege tables: Table 'mysql.host' doesn't exist