【发布时间】:2017-06-10 17:59:37
【问题描述】:
我想在 Microsoft Access 2016 中进行查询,显示每天的范围(最大值 - 最小值)与平均值。
我已经完成了一个查询,显示“16-Jun-16”和“17-Jun-16”之间所有记录的结果:
SELECT [Date Time], [Operation Grade-Load], [MFR g/10min]
FROM [In process analysis result]
WHERE ([Date Time] Between Date()-360 And Date()-358)
AND ([Operation Grade-Load] Like "MH*");
但是,我不知道如何继续修改我的查询以显示每天的“范围”和“平均值”。我想我应该使用 Avg(), Max()-Min() 函数。有人可以指导我吗?
编辑: 每天是根据 [前一天 02:00:00] 和 [今天 02:00:00] 之间计算的。 示例:
- 16-Jun-16 = “16-Jun-16 02:00:00”和“17-Jun-16”之间的行记录 02:00:00"
- 17-Jun-16 = “17-Jun-16 02:00:00”和 "18-Jun-16 02:00:00"
- ...
甚至可以根据这个逻辑计算日期吗?
感谢任何帮助。 谢谢。
编辑 1: 我更新了我的 SQL 查询:
SELECT [Date Time], [Range], [Average]
FROM [In process analysis result], (SELECT Max([MFR g/10min])-Min([MFR g/10min]) AS [Range], Avg([MFR g/10min]) AS Average
FROM [In process analysis result]
WHERE ((([In process analysis result].[Date Time]) Between Date()-360 And Date()-358) AND (([In process analysis result].[Operation Grade-Load]) Like "MH*"))
) AS [%$##@_Alias]
WHERE ((([In process analysis result].[Date Time]) Between Date()-360 And Date()-358) AND (([In process analysis result].[Operation Grade-Load]) Like "MH*"))
ORDER BY [In process analysis result].[Date Time];
事实证明它已经足够接近我想要的了......但还没有,因为它不是基于每天计算的。
编辑 2: 这是预期的结果:
编辑 3: 在@USeptim 之后,这是创建的查询的结果。但是,它会使用 [Range] 和 [PromedioDeMFR g/10min] 创建另外两列。
【问题讨论】:
-
向我们展示您预期结果的示例
-
@dbajtr 请参阅我原帖中的编辑 2。
标签: sql ms-access range average