MySQL 中使用order by, order by后面如果写别名,那么这个别名不能加引号,否则这个order by没有效果
例如: 有一张表employees, 这张表至少有last_name(姓名)_,salary(薪水),commission_pct(一个计算年薪的字段) department_id (部门id)这几个字段.
现在想要查询: 根据年薪升序,名字的首字母降序,查询出last_name,年薪, department_id.
如果按照如下,order_by后面的年薪家了'',就是错误的.
SELECT
last_name,
salary * 12 * (
1+ IFNULL( commission_pct, 0 )) AS '年薪',
department_id
FROM
employees
ORDER BY
'年薪 'ASC,
last_name DESC;
正确的是将order by后面的年薪的引号去掉.如下:
SELECT
last_name,
salary * 12 * (
1+ IFNULL( commission_pct, 0 )) AS '年薪',
department_id
FROM
employees
ORDER BY
年薪 ASC,
last_name DESC;
本人新手,肯定有理解错误的地方,还请大家不吝赐教,多多给予批评指正!
万般感谢!!!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)