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

如何修改SQL实现指定日期范围内各客户最新余额查询

SQL修改方案

你原有SQL的逻辑本身符合需求:通过ROW_NUMBER()窗口函数按客户ID分组,组内按日期倒序排序取第一条,即可得到每个客户在指定时间范围内的最新余额。仅需要调整日期范围的限定条件即可适配任意日期范围查询:

核心修改点

  • 将原查询中写死的单月时间范围条件,替换为你需要查询的自定义起始、结束日期即可,推荐使用参数化方式传值避免SQL注入风险。

修改后示例代码

SELECT *
FROM (
    SELECT 
        id,
        date_1,
        balance,
        ROW_NUMBER() OVER (
            PARTITION BY id 
            ORDER BY date_1 DESC
        ) AS RN
    FROM customer
    -- 此处替换为实际需要的查询日期范围,也可替换为代码中的参数占位符
    WHERE date_1 BETWEEN '自定义起始日期' AND '自定义结束日期'
) sub
WHERE rn = 1

特殊场景补充

如果你需要将指定日期范围内没有余额更新记录的客户也纳入结果展示(例如展示其此前的最新历史余额),可以调整逻辑为:先拉取全量客户ID列表,再左关联匹配符合日期条件的最新余额记录即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 10:15:05