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

MS Access查询:筛选每个IDBug最大Rev且Status为CLOSE的记录

解决MS Access SQL查询问题

要获取每个IDBug最大Rev层级下Status为"CLOSE"的记录,你需要先定位每个IDBug的最大Rev值,再关联原表筛选符合条件的记录,正确的SQL语句如下:

SELECT t.IDBug, t.Rev AS MaxDiRev, t.Status
FROM tblCronologiaB_0 t
INNER JOIN (
    -- 子查询获取每个IDBug的最大Rev
    SELECT IDBug, Max(Rev) AS MaxRev
    FROM tblCronologiaB_0
    GROUP BY IDBug
) max_revs ON t.IDBug = max_revs.IDBug AND t.Rev = max_revs.MaxRev
WHERE t.Status = "CLOSE";

原语句错误原因

你原来的SQL同时按IDBug和Status分组,这会把同一IDBug下不同Status的记录拆分成独立分组计算Max(Rev)。比如IDBug=1中,Status为"CLOSE"的记录(Rev=3)会被单独分组取最大值,而该IDBug实际最大Rev是5且对应的Status不是"CLOSE",所以错误返回了这条不符合要求的记录。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 15:20:53