2016-07-18 9 views
2

異なる日付のさまざまな製品の販売を示す表があります。フォーマットは、私が過去N日間、各製品の平均販売を取得するクエリを探していますSqlクエリは、最後のn期間の各製品の平均売上高

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 
----------------------------------- 

ようなものです。このクエリは、VB.Netアプリケーションで使用するためのものです。データを取得するためのクエリを手伝ってください、ありがとうございます。

答えて

0

あなたはこれを行う使用することができます。

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

があなたの変数/値でnを交換してください。

EDIT:最後Nレコードの場合

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

申し訳ありません過去Nレコードの場合 – Kris

+0

@Kris更新を参照してください。 – sagi

+0

ありがとう@サギ...これとこれに似たクエリも試してみましたが、すべての売上の平均が得られますが、私の要件は各製品の平均です – Kris

0

はこの1つを試してみてください(ここで、n = 10)の代わりにN日間の必要なわずかな変化が、私は平均を探しています

SELECT * FROM my_table t WHERE t.date >= DATE_ADD(CURDATE(), INTERVAL -10 DAY); 
関連する問題