#案例:【按函数排序】显示员工的姓名和工资
在学习排序时,想按姓名字段的长度进行排序,使用了mysql中自带的length()函数计算了字段长度并起了别名str_length,但是排序之后的结果和想象中的不一样,感到很疑惑。
SELECT CONCAT(last_name,first_name) "姓名",
LENGTH(CONCAT(last_name,first_name)) "str_length",
salary
FROM employees O
RDER BY "str_length";
经过自己尝试和网上查询,发现规则是order by后面的字段不能加引号,不管是中文还是英文,只要不加双引号或单引号就行,算是一个小坑,在这里记录一下吧
SELECT CONCAT(last_name,first_name) "姓名",
LENGTH(CONCAT(last_name,first_name)) "str_length",
salary
FROM employees O
RDER BY str_length; #这里的str_length没加双引号