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

MS Access查询:获取与最大销量关联的最小时间间隔

解决MS Access中获取商品最大销量对应最小间隔的问题

问题分析

原查询直接对[MODEL ID]分组后取MAX([QUANTITY])和MIN([INTERVAL]),但这两个值并非关联关系——MIN([INTERVAL])会取该商品所有记录里的最短间隔,而非最大销量对应的最小间隔。

解决方案

需要先定位每个商品的最大销量,再在该销量对应的所有记录中筛选出最小的间隔。可以通过子查询关联实现:

SELECT 
    t1.[MODEL ID],
    t1.[QUANTITY] AS MAX_QUANTITY,
    MIN(t1.[INTERVAL]) AS MIN_INTERVAL_FOR_MAX_QUANTITY
FROM 
    [TABLE X] t1
INNER JOIN (
    -- 子查询:获取每个商品的最大销量
    SELECT [MODEL ID], MAX([QUANTITY]) AS MAX_Q
    FROM [TABLE X]
    GROUP BY [MODEL ID]
) t2 ON t1.[MODEL ID] = t2.[MODEL ID] AND t1.[QUANTITY] = t2.MAX_Q
GROUP BY 
    t1.[MODEL ID], t1.[QUANTITY]

逻辑说明

  1. 子查询t2先计算每个商品的最大销量MAX_Q;
  2. 将原表t1与t2关联,筛选出所有销量等于该商品最大销量的记录;
  3. 对筛选后的记录按商品分组,取最小的INTERVAL,即为最大销量对应的最小间隔。

针对商品B的效果

执行该查询后,商品B会筛选出销量为50的所有记录(间隔3和4),然后取其中最小的间隔3,完全符合需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 08:02:25