2012-01-20 5 views
25

テーブルのエントリの最後の6ヶ月を選択しようとしていますが、datetimeと呼ばれるカラムがあり、datetime mysqlフォーマットです。MySQLを使用してニューステーブルから最後の6ヶ月を選択する方法

私は間隔や他の方法を使用して多くの方法を見てきました。どちらの方法を使うべきですか?おかげ

+3

のためのよりよい解決策を持っている場合、フィールドは本当に日時あなた呼び出された場合

yourdate_column > DATE_SUB(now(), INTERVAL 7 MONTH) limit 6 

また、それは素晴らしいことだろうそれを囲むために 'を使用する必要があります。 datetimeは予約語です。 Pabloの応答は 'your_dt_field'を持っているところでxceptを行い、' datetime'を適切なエスケープ文字で置き換える必要があります。 – xQbert

答えて

79

使用DATE_SUB

.... where yourdate_column > DATE_SUB(now(), INTERVAL 6 MONTH) 
+0

DATE_SUB()関数は、指定された日付から間隔を減算します。この場合は "now() - 6 months"です。 – prageeth

+0

'DATE_SUB()'関数の中で、 'now()'の代わりに 'MAX()'を使用することはできますか?私は同様の状況に直面しているので、今日の日付の代わりに日付の列にある最後の日付から最後の6ヶ月のデータをチェックする必要があります。 – LearneR

11

はこれを試してみてください:

select * 
    from table 
where your_dt_field >= date_sub(now(), interval 6 month); 

クエリを読み取ります。エントリの日付に対応するフィールドが、6ヶ月よりも新しいところtableに私のすべてのエントリを与えます。

+0

your_dt_field形式は何ですか?また、システムの現在の日付を使用する方法 –

1

私は、売上高(合計)最後の6ヶ月間表示するuser319198答え@試みたが、それは働いたが、私は最も古い月に1つの問題に直面し、私は販売量を得ることはありません全体の月。結果は、その月の同等の当日から開始されます。

いずれかに興味を持っている場合だけで、私は私の解決策を共有したい: - 誰もが私の場合J.

関連する問題