【发布时间】:2011-06-03 21:39:24
【问题描述】:
在 MS Access 中,我试图获取数据的平均值,但仅当每组的最后一条记录大于某个值时。几乎有它,但不能得到最后一部分。所以我的数据看起来像这样:
CarID WeekOf NumDataPoints Fuel
3AA May-14-2011 4 300
7BB May-14-2011 9 250
3AA May-21-2011 35 310
7BB May-21-2011 7 275
3AA May-28-2011 24 355
7BB May-28-2011 4 280
我的记录集应该只包含当前积分数 >= 5 的汽车的平均燃油。因此,本周是 2011 年 5 月 28 日,唯一积分数 >= 5 的汽车是汽车 3AA .其他周的积分数无关紧要。我试过了
SELECT CarId, Avg(Fuel) AS AvgF
FROM tblCars
WHERE WeekOf>=#5/14/2011# And WeekOf<=#5/28/2011# AND
CarId = (SELECT CarId FROM tblCars
WHERE WeekOf=#5/28/2011# AND NumDataPoints>=5)
GROUP BY CarId;
我该回去了
CarID AvgF
3AA 321.6666
我将如何仅在当前一周设置标准,但当它通过标准时返回三周?
【问题讨论】:
-
如果我认为我找到了解决方案/发表评论或添加到原始帖子,协议是什么?无论如何,如果我将 CarId = (SELECT CarId FROM tblCars 替换为 CarId IN (SELECT CarId FROM tblCars 我认为这样做会正确吗?
-
您可以回答自己的问题,也可以直接删除问题。另一种选择是在 meta.stackoverflow.com 上询问您认为应该做什么
标签: sql ms-access group-by aggregate average