我有一个奇怪的问题我能否限制使用一组在GROUP BY语句
我有一个表中的列PRODUCT_ID,行的销售金额和日期
并非所有产品每天都有销售。我想获得销售的平均数量是每个产品曾在最近10天在那里有销售
通常我会得到平均这样
SELECT product_id, AVG(sales)
FROM table
GROUP BY product_id
有没有办法来限制每个产品需要考虑的行数?
恐怕这是不可能的,但我想,以检查是否有人有一个想法
更新澄清:
产品可在天1,3,5,10,15,17出售20。 因为我不希望得到一个平均的所有天,但仅天平均在产品没有真正得到卖给做这样的事情
SELECT product_id, AVG(sales)
FROM table
WHERE day > '01/01/2009'
GROUP BY product_id
将无法正常工作
不完全...它必须是销售发生的每个组中的最后10天。 – 2009-09-17 21:22:34
这当然会工作,如果产品被售出汽车无,但 产品可能被出售只在天1,3,4,5,10,13,20 ,如果我这样做 哪天>“9/7/2009' 我不会得到最后10天它有销售,但只是最后10天的一般。 我希望澄清一下 – MarcS 2009-09-17 21:23:21
哦,好的。我现在明白了。让我看看我是否可以重新查询。这绝对是可行的。我会在几分钟内更新我的答案。 首先还有一个问题,是否可以在表格的同一天有两行产品? – JohnFx 2009-09-17 21:25:25