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

如何基于日期查询不同itemID的最新非空count值

每个itemID最新非空count值查询解法

解法1:窗口函数法(支持MySQL 8.0+、PostgreSQL、SQL Server等主流新版数据库)

先过滤count非空的记录,再按itemID分组对日期倒序排序,取每组第一条即可:

WITH ranked_data AS (
    SELECT
        itemID,
        count,
        ROW_NUMBER() OVER(PARTITION BY itemID ORDER BY date DESC) AS rank_num
    FROM 你的表名
    WHERE count IS NOT NULL
)
SELECT itemID, count
FROM ranked_data
WHERE rank_num = 1;

如果同一itemID的最大日期存在多条非空count记录,需要全部返回的话,将ROW_NUMBER()替换为RANK()即可。

解法2:子查询关联法(兼容MySQL 5.x等不支持窗口函数的旧版数据库)

先查询每个itemID对应非空count的最大日期,再关联原表匹配对应记录:

SELECT t1.itemID, t1.count
FROM 你的表名 t1
INNER JOIN (
    SELECT itemID, MAX(date) AS latest_valid_date
    FROM 你的表名
    WHERE count IS NOT NULL
    GROUP BY itemID
) t2 ON t1.itemID = t2.itemID AND t1.date = t2.latest_valid_date
WHERE t1.count IS NOT NULL;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 20:15:04