2

親愛なる皆さん..一学期のデータを取得するレポートを作成したいと思います。この学期は毎年 4 月に始まり、9 月に終わります。ただし、2学期は10月から3月(来年)までのデータを取得します。このグループ化または集約を行うにはどうすればよいですか? 私は今、次のような基本的なクエリです:

select * from dt_tb where `dt` >= DATE_SUB(CURDATE(), INTERVAL 6 MONTH) 
4

1 に答える 1

0

何かのようなもの:

SELECT *
FROM dt_tb
WHERE (dt >= '2010-10-01') AND (dt < '2011-05-01')

(10 月 1 日から 5 月 1 日 (4 月 30 日) までの期間のすべてのデータ)。

スライディング ウィンドウが必要な場合は DATE_SUB() と CURDATE() を使用しても問題ありませんが、学期のように固定の開始点と終了点が必要な場合は、実際の日付を使用することをお勧めします。

同様に、メソッドは、まだ発生していない将来の学期からデータを取得します.WHERE句は基本的に「6か月前より新しいデータベース内のすべてを教えてください」と言っているからです. 次の 2 年間の学期を保存すると、それらも取得されます。開始日と終了日を指定することで、実際に必要な学期のみ取得できます。

于 2010-09-24T03:06:22.390 に答える