1

私はいくつかのプログラムを持っており、それらのタイミングは以下のようなものです:

P1 : 午後 5 時から午後 8 時
P2 :午後 8 時から午前 1 時
P3 : 午前 2 時から午前 4 時

P2 について、過去 30 日間のレコードを取得する必要があるとします。このクエリを使用していました。

select * from {table} 
WHERE timestamp BETWEEN '01-09-2013 8pm' AND '30-09-2013 1am'

ただし、そのクエリは、使用しているため、P2 の時間外のレコードを返しますbetween

30 日間の記録を取得したいのですが、毎日午後 8 時から午前 1 時までの記録のみに制限する必要があります。

これどうやってするの?

4

2 に答える 2

1

最も簡単なアプローチは次のとおりです。

select * from {table} 
WHERE timestamp BETWEEN '01-09-2013' AND '30-09-2013'
AND DATE_FORMAT(timestamp,'%H') in ("20","21","22","23","00") 
于 2013-10-18T06:59:50.850 に答える