MS Access SQL范围和平均值

MS Access SQL范围和平均值,sql,ms-access,aggregate-functions,ms-access-2016,Sql,Ms Access,Aggregate Functions,Ms Access 2016,[日期时间]和[MFR g/10min]是[过程中分析结果]表中的字段。我应该找到“每天[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],

[日期时间]和[MFR g/10min]是[过程中分析结果]表中的字段。我应该找到“每天[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];

选择[In-process analysis result].[Date Time],Format([In-process analysis result].[Date Time],“dd/mmm/yy”)作为[Extracted Date],Format([In-process analysis result].[Date Time],“hh:nn:ss”)作为[Extracted Time],IIf([Extracted Time]您的思路是正确的,但您可以通过采用
日期值([Date Time])来简化日期计算
如果
小时([Date-Time])
大于等于18,则添加1天。然后,将该查询用作执行实际计算的查询中的子查询:

选择
生效日期,
最大值([MFR g/10min])-最小值([MFR g/10min])作为每日范围,
每日平均值([MFR g/10min])
从…起
(
挑选
DateAdd(“d”、IIf(小时([日期时间])小于18,0,1)、DateValue([日期时间])作为生效日期,
[制造商g/10分钟]
来自[过程中分析结果]
)
按生效日期分组