2016-10-11 15 views
0

過去15分間に記録されたデータを選択するSQLクエリを作成する必要があります。過去15分間のデータを選択するSQLクエリ

私はレーザーを通過するたびに値を記録するテーブルをデータベースに持っています。テーブルにはID、日付と時刻の列が含まれています(日付と時刻は別々の列です)。他の列は実際に何をしようとしていません。

スキャナを通過するたびに新しい行が作成されます。最後の15分、30分、および1時間に作成された行の数をどのように数えることができますか? 私はそれが異なる時間のためのものの同じ種類になると思いますので、1つの例は細かいことがありますありがとう!

Table Data

+0

混乱を防ぐため、最後の列は外部キーですので、このことについて心配しないでください –

+1

mysql ???オラクル? SQLサーバー ??? –

+0

@Ganesh_Devlekar mysqlしかし、それは本当に重要ですか? –

答えて

1

ます。また、この試すことができ、この

select * from YourTable where 
TIMESTAMPDIFF(MINUTE,concat(`Date`,' ',`Time`),NOW()) < 15 

SQL fiddle

+0

00:03前日から値を取得していますか?私がちょうどそれを推測していると思います。 –

+0

@LukeRayner - はい、タイムスタンプには日付が含まれています。 – Hogan

+0

@LukeRayner hmm ...シングルクォートと日付+時刻で更新されました –

0

を試してみてください。ここ

SELECT * FROM Posts WHERE `Date` > NOW() - INTERVAL 15 MINUTE 
0

はあなたのレコードの最後の15分を与える私のSQLクエリです。あなたのテーブルで

それはとても日時にそれらを組み合わせて、現在の日時と

SELECT * FROM table 
WHERE STR_TO_DATE(CONCAT(`Date`, ' ', `Time`) > DATE_SUB(CURDATE(), INTERVAL 15 MINUTE) 

を比較するよりも、日付と時刻のための2つの異なるフィールドを思わ一つの変数で15分を作り、あなたは何分を渡すことができますし、それに応じて結果を取得..

これは役に立ちます。

関連する問題