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

如何返回按Job和TC Code取最大请求日期的动态数据表

解决Job+TC Code组合取最新请求记录的问题

你之前用窗口函数的思路没问题,核心问题出在分区条件上——只按TC Code分区的话,会把不同Job下的同一个TC Code混在一起计算,没法满足「每个Job下的唯一TC Code」这个需求。我们只需要把Job和TC Code的组合作为分区依据,就能精准拿到每个Job里每个TC Code的最新记录。

修正后的SQL代码如下:

select [Job], [Description], [TC Code], [Units], [Date Requested], [Requestor]
from (
    Select [Job], [Description], [TC Code], [Units], [Date Requested], [Requestor],
    -- 按Job+TC Code的唯一组合分区,确保每个Job下的TC Code独立排序
    row_number() over(partition by [Job], [TC Code] order by [Date Requested] desc) as rn
    from [dbo].['VAR ADJ Log$']
) as t
where rn = 1
-- 可选:按Job和TC Code排序,让结果和示例格式更匹配
order by [Job], [TC Code]

代码说明:

  • partition by [Job], [TC Code]:将数据拆分为「Job+TC Code」的独立分组,比如Job17+Days、Job17+Crew、Job20+Days这些都是单独的计算单元
  • order by [Date Requested] desc:每个分组内按请求日期倒序排列,最新的记录会被标记为rn=1
  • 外层筛选rn=1,就能得到每个Job+TC Code组合的最新完整记录

用你提供的示例数据测试,这个查询会完全匹配你期望的结果:每个Job下所有唯一TC Code的最新请求记录都会被返回,包括Job17新增的Con类型和更新后的Crew类型记录。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.13 07:20:50