2016-09-09 8 views
0

このクエリは、最後の時間以降の選択制限:過去1時間から昨年までの行を選択するにはどうすればよいですか?

... WHERE date_time > unix_timestamp(DATE_SUB(now(), INTERVAL 1 HOUR)) 

そして、この1つは昨年のためにすることを行います。

... WHERE date_time > unix_timestamp(DATE_SUB(now(), INTERVAL 1 YEAR)) 

がどのように私はWHERE句が最後の時間の間の選択に制限することを書くことができます昨年

+0

'Between.'それともCompareDateを使用することができます>いくつかの日付とcompareDate xQbert

答えて

1

between使用:

WHERE from_unixtime(date_time) BETWEEN (now() - INTERVAL 1 year) AND (now() - INTERVAL 1 hour) 

コメントフォロー:

mysql> select now() - interval 1 year, date_sub(now(), interval 1 year); 
+-------------------------+----------------------------------+ 
| now() - interval 1 year | date_sub(now(), interval 1 year) | 
+-------------------------+----------------------------------+ 
| 2015-09-09 09:25:59  | 2015-09-09 09:25:59    | 
+-------------------------+----------------------------------+ 
1 row in set (0.00 sec) 
+0

ありがとう.. upvote、しかし、見て、 'date_time'列の値は、このような整数です:' 1473434534' ..あなたは 'unix_timestamp'を使用しなければならないと思います – stack

+1

ええ、 。 from_unixtime()呼び出しを追加しました。 –

+0

'DATE_SUB()'関数はどうですか?私はそれを必要としない? – stack

1
where date_time between unix_timestamp(DATE_SUB(now(), INTERVAL 1 YEAR)) and unix_timestamp(DATE_SUB(now(), INTERVAL 1 HOUR)) 
+0

ありがとう.. upvote – stack

関連する問題