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

SQL Server DENSE_RANK返回结果错误,如何按taskID取最新文件

解决方法

将你用到的DENSE_RANK窗口函数替换为ROW_NUMBER即可,修改后的代码如下:

ROW_NUMBER() OVER (
    PARTITION BY taskid, filenumber 
    ORDER BY HISTORYID DESC
) AS id_file_to_keep

逻辑说明

  • PARTITION BY taskid, filenumber 已经满足你「仅当task或filenumber变化时序号重置」的要求,序号只会在分组切换时重新从1开始计数
  • ROW_NUMBER 会在同一个分组内按HISTORYID倒序生成唯一连续序号:HISTORYID最大的记录固定拿到序号1,同分组其他记录依次顺延为2、3……,既不会因为HISTORYID重复生成相同排名,也不会出现跳号问题,完全匹配你需要的最终结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 17:54:02