【问题标题】:MS Access SQL Range and AverageMS Access SQL 范围和平均值
【发布时间】:2017-06-11 09:04:24
【问题描述】:

[Date Time] 和 [MFR g/10min] 是 [In process analysis result] 表中的字段。我应该找到“每天 [MFR g/10min] 的范围(最大-最小)”和“[MFR g/10min] 的平均值”。 一天定义为“前一天”18:00:00 到“今天”17:59:00。

SELECT [In process analysis result].[Date Time], Format([In process analysis result].[Date Time],"dd/mmm/yy") AS [Extracted Date], Format([In process analysis result].[Date Time],"hh:nn:ss") AS [Extracted Time], IIf([Extracted Time]<"18:00:00",DateAdd("d",-1,[Extracted Date]),[Extracted Date]) AS [New Date], [In process analysis result].[MFR g/10min]
FROM [In process analysis result];

我提取了[提取日期]和[提取时间]。以【提取时间】小于18:00:00为条件,视为前一天。最终结果是[新日期]。

但是,从这个查询中,我不知道如何获得按 [New日期]。我需要一些帮助和指导。感谢是否有人可以帮助我。 谢谢。

【问题讨论】:

    标签: sql ms-access aggregate-functions ms-access-2016


    【解决方案1】:

    您在正确的轨道上,但您可以通过取 DateValue([Date Time]) 并在 Hour([Date Time]) 为 18 或更大时添加 1 天来简化日期计算。然后,将该查询用作执行实际计算的查询中的子查询:

    SELECT 
        EffectiveDate, 
        MAX([MFR g/10min]) - MIN([MFR g/10min]) AS DailyRange, 
        AVG([MFR g/10min]) AS DailyAverage 
    FROM
        (
            SELECT 
                DateAdd("d", IIf(Hour([Date Time]) < 18, 0, 1), DateValue([Date Time])) AS EffectiveDate, 
                [MFR g/10min] 
            FROM [In process analysis result]
        )
    GROUP BY EffectiveDate
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-11-08
      • 2015-06-04
      • 2017-05-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多