You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SQL中对员工姓名排序时如何为单个指定员工设置优先排序规则

问题原因

你现有写法存在两个问题:

  • 仅设置了第一维度的分组排序规则,只能保证Mahesh排在最前,其余员工没有指定排序逻辑,无法实现按姓名升序的要求
  • 表名使用错误,你实际的表名为TB1而非Employee

正确写法

SELECT *
FROM TB1
ORDER BY 
  CASE WHEN Emp_name = 'Mahesh' THEN 1 ELSE 2 END,
  Emp_name ASC;

逻辑说明

  • 第一排序项通过CASE表达式设置优先级:姓名为Mahesh的记录排序权重为1,其余所有记录权重为2,确保Mahesh永远排在结果集第一位
  • 第二排序项指定按Emp_name升序排列,权重同为2的其余员工会按照字符顺序升序排列,最终输出和你要求的结果完全一致
  • 如果需要模糊匹配包含Mahesh的姓名,可以把Emp_name = 'Mahesh'替换为Emp_name LIKE '%Mahesh%',精准匹配场景下用等号查询效率更高

内容的提问来源于stack exchange,提问作者Michael Scofield

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 09:15:02