Sql查询以获取最近n个时期的每个产品的平均销售额

时间:2016-07-18 11:26:48

标签: mysql vb.net

我有一张表格,显示不同日期的各种产品的销售情况。格式就像

Date       | Product | Sales
-----------+---------+-------------
01/01/2016 |    B    |250.00
-----------+---------+-------------
01/01/2016 |    A    |1050.00
-----------+---------+-------------
02/01/2016 |    A    |925.00
-----------+---------+-------------
04/01/2016 |    B    |741.00
-----------------------------------

我正在寻找一个查询来获取过去N天内每种产品的平均销售额。此查询用于VB.Net应用程序。请帮我查询以获取数据,提前致谢。

2 个答案:

答案 0 :(得分:0)

您可以使用:

SELECT AVG(t.Sales) as average_col
FROM YourTable t
WHERE t.date >= DATE_SUB(NOW(), INTERVAL n DAY)

n替换为您的变量/值。

编辑:对于最后N条记录:

SELECT t.product, AVG(t.Sales) as average_col
FROM YourTable t
Group by t.product
ORDER BY t.date DESC
LIMIT n

答案 1 :(得分:0)

试试这个(n = 10)

SELECT * FROM my_table t WHERE t.date >= DATE_ADD(CURDATE(), INTERVAL -10 DAY);