私は1つの列がDATEで、他の列がSIGNALであるMySQL DBを持っています。今度は、SUM over Signalをそれぞれ4日間計算したいと思います。どのようにすべての日付に4daysバケットのSUMを計算することができます
f.e.
SUM(signal over DATE1,DATE2,DATE3,DATE4)
SUM(signal over DATE5,DATE6,DATE7,DATE8)
...
whereas Date_N = successor of DATE_N-1 but need not to be the day before
多かれ少なかれalgoはdaysグループ内で可変である必要があります。 4は単なる例ではありません。
MySQLでこれを実行する方法を私にアドバイスできますか?
私はここでこれを見つけましたgroup by with count、これは私の問題に役立つかもしれませんか? ありがとう
編集:重要なメモ:私の日付範囲にはギャップがあります。下の図の列数(DISTINCT(TradeDate))にこれが表示されます。私はギャップがないときは常に4になるはずです。しかし、私はギャップがあります。しかし、降順の日付を並べ替えるときは、いつも一緒に日付をグループ化したいと思っています。グループ1:2017-08-22 + 2017-08-21 + 2017-08-20 + 2017-08-19、グループ2:2017-08-18 + 2017-08-17 + 2017-08-15 + 2017-08- 14、...
多分、私はdecending daterangesをdecending integer autoincrement numberにマップすることができました。数1 =「2017年8月17日」数2 =「2017年8月15日」というように。..
EDIT2:私はこのクエリと私のテーブルから結果を見るように :私は私が持っているかもしれませんダブルエントリー1つの同じ日付。どのようにしてこの日付を区別することができますか?
SELECT SUM(CondN1),count(id),count(DISTINCT(TradeDate)),min(TradeDate),max(TradeDate) ,min(TO_DAYS(DATE(TradeDate))),id FROM marketstat where Stockplace like '%' GROUP BY TO_DAYS(DATE(TradeDate)) DIV 4 order by TO_DAYS(DATE(TradeDate))
https://stackoverflow.com/a/13780140/747609あなたを誘導するかもしれない – IROEGBU
私たちにいくつかのデータを見せてください。 'DATE1'とは何ですか? –
@IROEGBUありがとう!それはまさに私が探していたものです! –