0
mysql文を作成するにはいくつかの助けが必要です。私は毎日のサルデータを記録する販売テーブルを持っています。 ここでは、過去3年間の週間売上高を週数と並べて比較したいと考えています。過去3年間の週単位のデータを並べて比較するためのMysqlクエリ
sqlfiddleのデータ例を示します。
そして、これは私がこれまで試してみましたものですが、一つだけの週のデータを返している:
SELECT YEARWEEK(s1.sale_date,1) AS weekY1, SUM(s1.total) AS totalY1,
YEARWEEK(s2.sale_date,1) AS weekY2, SUM(s2.total) AS totalY2,
YEARWEEK(s3.sale_date,1) AS weekY3, SUM(s3.total) AS totalY3
from sales_chc s1
LEFT JOIN sales_chc s2
ON s2.sale_date = (s1.sale_date -INTERVAL 1 YEAR)
LEFT JOIN sales_chc s3
ON s3.sale_date = (s1.sale_date -INTERVAL 2 YEAR)
WHERE YEAR(s1.sale_date) = '2017' AND YEARWEEK(s1.sale_date, 1) = YEARWEEK(CURDATE(), 1)-1
GROUP BY YEARWEEK(s1.sale_date, 1)
あなたのサンプルデータに基づいて、期待される結果は何ですか? – Blank
私は、すべての週(日付まで)を各年度の合計販売金額と共に表示したいと思います。 – sohal07
あなたのGROUP BYは少し疑わしく見えますが、現在のYEARWEEKと等しい** YEARWEEKに制限するWHERE句ではありません(マイナス1、私は有効ではありません)? –