2012-04-23 15 views
0

私は与えられた時間に来るすべての行が取得されるような方法でデータベースを照会したいと思います。 私のDBのテーブルには、私が前に5分のような時間を含むすべての行を取得したいこのクエリmysqlデータベースと時間

2012-04-23 08:39:10 
2012-04-23 08:41:37 
2012-04-23 13:49:56 

のようなデータを保持している日付の列があります。実際に私がここで試しているのは、5分前にオンラインになっていたすべてのユーザーを表示することです。これらの日付と時刻は、最後のアクティビティとともに作成されます。 ご協力いただけると幸いです。

+0

私はこの 'Date'> SUBDATE(NOW()、INTERVAL」をしようとしていました5 'MINUTE)) しかし明らかにそれはうまくいきませんでした。:( – Prashank

+0

これを試してみるとエラーや問題は何でしたか?ここで提供されているほとんどすべてのソリューションで同じ結果が得られます。 orrect。サブタイトル(現在、)、 '00:05:00') ' –

+0

@Prashank:SQLによって与えられる、サブタイトル(NOW()、INTERVAL '5' MINUTE)'、 'DATE_SUB(CURRENT_TIMESTAMP、INTERVAL 5 MINUTE)あなたは今から5分前に落ちるテーブルのすべてのレコードをあなたに送ります。 * 5分前からのレコードだけです。そのためには、あなたのSQLで '='を使うか、 'BETWEEN'を使ってみる必要があります。 – jason

答えて

3

これは、次のようなものは、トリックを行う必要があります

select * from tablename where ((datecol > subtime(now(),'00:05:00'))) 
+0

ありがとう、私はこれを試してみる – Prashank

1

のために働く必要があります。

SELECT * 
FROM <table> 
WHERE 
    <date column> 
    BETWEEN 
    DATE_SUB(NOW(), INTERVAL 5 MINUTE) 
    AND 
    DATE_SUB(NOW(), INTERVAL 6 MINUTE) 
; 
1
SELECT * 
FROM `TABLE_NAME` 
WHERE `DATECOLUMN` > DATE_SUB(CURRENT_TIMESTAMP, INTERVAL 5 MINUTE) 
関連する問題