Select name, LENGTH(name)
from Employees
order by LENGTH(name);
为什么这不能给我排序长度?它仍在根据名称进行排序。
输入员工:
Emp | Salary
------------
DEF | 30
PQRS| 40
ABC | 30
WXY | 20
预期:
ABC 3
DEF 3
WXY 3
PQRS 4
答案 0 :(得分:2)
测试:
SELECT name, LENGTH(name)
FROM Employees
ORDER BY 2;
然后你的查询似乎也有效。
答案 1 :(得分:1)
您的预期输出显示按长度排序的数据,然后是名称,但您的SQL不能保证。
Select name, LENGTH(name)
from Employees
order by LENGTH(name), name;
上述修改将首先按长度排序,然后按名称排序,您将获得输入的预期输出。