SQL查询 - 如何过滤上一小时的结果?

时间:2011-07-12 12:05:11

标签: sql

我只想获得过去一小时的数据。查询应该是那样的......

SELECT some_date_related_data FROM some_table
WHERE time > now() - (1hour)

我怎样才能实现这一目标?

谢谢!

3 个答案:

答案 0 :(得分:6)

由于您使用了NOW(),我猜这是关于MySQL的。然后我建议阅读手册: - )

http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html


对于 MySQL

WHERE time > NOW() - INTERVAL 1 HOUR ;

WHERE time > DATE_ADD( NOW(), INTERVAL -1 HOUR ) ;

MS-Access

WHERE time > DateAdd( 'h', -1, Now() ) ;

答案 1 :(得分:1)

如果它是MSSQL,它将是:

DateDiff(hh,time,GetDate()) < 1

或者mySQL,你会在这里找到altfernative:

http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_datediff

答案 2 :(得分:0)

NOW()会返回一个时间戳,因此您可以按照以下方式使用它:

SELECT some_date_related_data FROM some_table
WHERE time > ( now() - 3600 )