1
現在の年と前年のMonth-To-Dateデータを返すクエリを作成しようとしています。
意味2017-07-01
から2017-07-26
までのデータと、2016-07-01
から2016-07-26
のデータが必要です。SQL月間YTDと以前のYTDデータ
しかし、私のクエリは現在2017-07-01
から2017-07-26
(正しく)のデータを返しますが、2016-07-01
から2016-07-31
(間違って)のデータも返します。
2年間の同じ期間(MTD)のデータを取得するにはどうすればよいですか?あなたが参照したい場合は
SELECT year
, month
, sum(sales)
from salesdata.sales
--Selecting were day in range with same month
WHERE DAY(date) BETWEEN 1 AND DAY(data_up_to)
AND MONTH = MONTH(NOW())
AND YEAR IN (YEAR(NOW()), YEAR(NOW())-1)
--Group by Year, Month
GROUP BY YEAR
, MONTH
:
表はdate
、day in quarter
、year
、quarter
、month
とweek
が、日なし列...
SELECT
data_up_to,
date,
year,
month,
sum(sales)
FROM
salesdata.sales
WHERE
MONTH = MONTH(NOW()) and
YEAR in (YEAR(NOW()), YEAR(NOW())-1, YEAR(NOW())-2) and
date <= data_up_to
ありがとうございます!私はDAY(NOW() - 1)を使用しなければなりませんでした。なぜなら、それはより多くのデータを返していたからです。つまり今日(8/1)私はデータを8/2まで0の値で取得していました。 SELECT年 、月 、合計(売上高)同月 1日BETWEEN DAY(日)(NOW() - 1)との範囲内salesdata.salesから --Selectingた日 とMONTH = MONTH(NOW()) AND YEAR IN(YEAR(NOW())、YEAR(NOW()) - 1)年度別 --group、月 GROUP BY YEAR 、MONTH – George
どういたしまして! – flxplzk
追加するもの:stackoverflowで正しい答えの検索を簡略化するために:答えが正しい場合は、正しいとマークします。それは、同様の問題を持つ他の人が答えを早く見つけるのに役立ちます。関連する – flxplzk