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

如何基于多列实现特定规则的记录强制排序?

解决方案

你只需要调整ORDER BY中的判断逻辑,同时匹配两列的条件即可实现需求:

正确的排序语句

ORDER BY 
    CASE WHEN Col1 = 'Val_1' AND Col2 = 'Val_1' THEN 1 ELSE 0 END ASC,
    -- 可选:添加其他排序规则,比如保持原ID顺序或其他列排序
    ID ASC

逻辑说明

  • 当某条记录的Col1和Col2同时等于Val_1时,CASE语句返回1,否则返回0
  • 按这个结果升序排列,所有返回0的记录会排在前面,仅返回1的那条记录(ID=3)会被排到最底部
  • 后面的ID ASC用来保证其他非目标记录的顺序和你期望的一致,你也可以根据实际需求替换成其他排序规则(比如Col1、Col2的顺序)

执行结果

执行上述语句后,会得到你期望的排序结果:

IDCol1Col2
1ValVal
5ValVal
4ValVal_1
2Val_1Val
3Val_1Val_1

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 13:51:06