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

SQL多日期分数求和排序 如何设置仅取单日期值的第二排序规则

错误修复与实现方案

  • 原SQL第一个问题:WHERE条件逻辑错误,同一行数据的planning_date不可能同时等于两个不同日期,需要改用IN匹配两个目标日期
  • 原SQL第二个问题:缺少分组逻辑,不加GROUP BY直接聚合只会返回全表唯一的求和结果,不存在排序意义,需要替换示例中的分组字段为你实际要聚合的维度(比如用户ID、项目ID等)

核心通过CASE WHEN条件聚合实现指定日期的分数提取,作为第二排序条件,参考实现如下:

SELECT 
    分组字段, -- 替换为实际聚合维度,例如user_id、project_id
    SUM(score) AS total_score
FROM TABLE1 
WHERE planning_date IN ('2021/09/15', '2021/09/16')
GROUP BY 分组字段
ORDER BY 
    total_score ASC,
    SUM(CASE WHEN planning_date = '2021/09/16' THEN score ELSE 0 END) ASC;

如果指定日期不存在对应分组的记录,CASE WHEN会返回0作为第二排序的判断值,如果你需要这类数据排在更靠后的位置,可以把ELSE 0调整为你需要的默认值,第二排序的升降序也可以根据需求替换ASC为DESC。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 21:15:04