【发布时间】:2017-05-25 16:23:56
【问题描述】:
我有一组跨越 3 天的数据。根据左起第一列,是否可以有一个查询来计算左起第三列中每天的值的平均值?
最终结果将是两列:
1/1/2008 | 1.605
2/1/2008 | 1.59
3/1/2008 | 1.56
我认为逻辑类似于循环:
- 以第一列的日期为基准,如果是同一天,统计行数,将第三列的值相加
- 使用第三列的值之和除以行数得到平均值
- 天 + 1
但是我们如何在 MS Access 中实现循环呢?
这是一组数据:
编辑: 如果我想按日期分组,昨天的下午 6 点到今天的下午 6 点之间的哪一天?
BETWEEN 子句用于检查昨天 18:00:00 到今天 18:00:00 之间的记录。例如,对于 1/1/2008,记录将从 1/1/2008 6:00PM 开始到 2/1/2008 6:00PM。对于 2/1/2008,记录将从 2/1/2008 6:00PM 开始到 3/1/2008 6:00PM`。等等等等……
我有一个代码 sn-p 来检查这个:
([In process analysis result].[Date Time]) Between Date()-1+#12/30/1899 18:0:0# And Date()+#12/30/1899 18:0:0#)
但它只在前一天分组。如何申请数据集?
编辑 2: 这是我所做的查询,但仍然不正确。知道有什么问题吗?
SELECT DateValue([Date Time]) As DateValue, Avg([MFR g/10min]) AS [AvgOfMFR g/10min]
FROM [In process analysis result]
WHERE ((([Date Time])>Now()-365) AND (([Operation Grade-Load]) Like "EX*") AND (([Date Time]) Between [Date Time]-1+#12/30/1899 18:0:0# And [Date Time]+#12/30/1899 18:0:0#))
GROUP BY DateValue([Date Time]);
【问题讨论】:
-
请对此提出任何建议。
标签: sql ms-access aggregate-functions average