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

Access 2016中查找Result字段小于3的连续相邻记录实现咨询

这个需求完全可以实现,属于SQL领域典型的**连续序列分组(孤岛问题)**场景,以下是通用实现方案:

核心逻辑

利用窗口函数给连续满足Result < 3的记录分配相同的组标识,最终按组返回所有符合要求的记录即可,支持识别多组不重叠的连续序列,也兼容无符合条件记录的场景。

实现代码(兼容MySQL 8.0+/PostgreSQL/SQL Server等所有支持标准窗口函数的数据库)

WITH ordered_full AS (
    -- 给全表按时间升序生成全局行号
    SELECT 
        *,
        ROW_NUMBER() OVER (ORDER BY 你的时间字段名 ASC) AS global_rn
    FROM 你的表名
),
qualified_rn AS (
    -- 给满足Result<3的记录单独生成行号
    SELECT 
        *,
        ROW_NUMBER() OVER (ORDER BY 你的时间字段名 ASC) AS qualified_rn
    FROM ordered_full
    WHERE Result < 3
),
group_tagged AS (
    -- 生成连续组标识:连续的记录两组行号差值固定
    SELECT 
        *,
        global_rn - qualified_rn AS group_id
    FROM qualified_rn
)
-- 最终返回结果
SELECT 你的时间字段名, Result
FROM group_tagged
-- 【可选配置】如果要求“相邻连续”至少包含2条记录,取消下面两行注释即可
-- GROUP BY group_id
-- HAVING COUNT(*) >= 2
ORDER BY 你的时间字段名 ASC;

低版本数据库适配

如果你的数据库不支持CTE和窗口函数(比如MySQL 5.x及更早版本),可以通过关联子查询的方式实现,示例如下:

SELECT t1.你的时间字段名, t1.Result
FROM 你的表名 t1
WHERE t1.Result < 3
ORDER BY t1.你的时间字段名 ASC;

注:低版本方案如果需要过滤单条独立记录,需要额外增加关联判断逻辑,复杂度会高很多,优先建议升级到支持窗口函数的数据库版本。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.16 14:45:07