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

如何用Access SQL统计最新TxType为15的唯一modID数量

MS Access SQL 查询统计需求解决方案

日志表结构与数据

Logs表

logID (自动编号)modID (字符串)relID (字符串)DateTime (日期型)TxType (短整型)
1123422.310/1/22 08006
2123422.310/1/22 09007
3123422.310/1/22 100013
4123422.310/1/22 110015
5432122.310/1/22 08301
6432122.310/1/22 093013
7432122.310/1/22 103015
8432122.310/1/22 113013
9123423.111/1/22 08001
10123423.111/1/22 090015
11123423.111/1/22 100013
12123423.111/1/22 110015
13432123.111/1/22 083013
14432123.111/1/22 09307
15432123.111/1/22 103013
16432123.111/1/22 113015

查询需求

  • 按relID过滤数据;
  • 统计满足最新(按DateTime降序)事件的TxType为15的modID数量。例如过滤relID=23.1时,应统计logID为12和16对应的2个modID。

现有尝试

已实现两个独立查询,但无法结合:

  1. 统计拥有特定TxType的唯一modID数量:
SELECT COUNT(*)
FROM (
SELECT DISTINCT Logs.modID, Logs.relID
FROM Logs
WHERE ((Logs.relID='23.1') AND ((Logs.TxType=13)))
);
  1. 获取指定modID和relID组合的最新事件TxType:
SELECT TOP 1 TxType
FROM Logs
WHERE (((Logs.modID=[EnterModID])) AND ((Logs.relID=[EnterRelID])))
ORDER BY DateTime DESC;

解决方案

要实现需求,需要先为每个modID+relID组合找到最新的记录,再筛选其中TxType=15的记录并统计数量。以下是适配MS Access的SQL语句:

方法1:使用子查询获取最新记录

SELECT COUNT(DISTINCT l.modID) AS CountOfModID
FROM Logs l
WHERE l.DateTime = (
    SELECT MAX(DateTime)
    FROM Logs
    WHERE modID = l.modID AND relID = l.relID
)
AND l.relID = '23.1' -- 替换为目标relID,或改为参数[EnterRelID]
AND l.TxType = 15;

方法2:使用GROUP BY与子查询关联

SELECT COUNT(*) AS CountOfModID
FROM (
    SELECT l.modID
    FROM Logs l
    INNER JOIN (
        SELECT modID, relID, MAX(DateTime) AS LatestDateTime
        FROM Logs
        WHERE relID = '23.1'
        GROUP BY modID, relID
    ) latest ON l.modID = latest.modID 
             AND l.relID = latest.relID 
             AND l.DateTime = latest.LatestDateTime
    WHERE l.TxType = 15
);

说明

  • 两种方法都先定位每个modID在指定relID下的最新时间记录,再筛选TxType=15的条目并统计唯一modID数量;
  • Access的GROUP BY要求所有非聚合字段都必须包含在GROUP BY子句中,所以子查询里需要同时按modID和relID分组;
  • 可以将'23.1'替换为参数[EnterRelID],实现交互式输入过滤条件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 11:45:35