MYSQL查询时间戳比较

时间:2014-07-10 19:14:25

标签: mysql database

给定一个包含时间戳的列的表,我想计算TIMEDIFF(now(), timeStamp)大于某个值的实例数。我遇到的问题是在声明中实现这一切。我的努力:

SELECT COUNT*()
FROM sometable
WHERE (SELECT TIMEDIFF(now(),column_from_sometable) > 10

我不太确定如何使用where语句中的TIMEDIFF来进行比较。 (显然,您必须使用SELECT来调用该方法,然后我才不确定如何从该语句中的sometable访问该列。)

1 个答案:

答案 0 :(得分:2)

如果列column_from_sometable属于同一个表sometable,则您不需要子选择。您可以在WHERE条件中包含

SELECT COUNT(*)
FROM sometable
WHERE TIMEDIFF(now(),column_from_sometable) > 10

您也可以通过在聚合函数中添加条件(如

)来简化此操作
SELECT SUM(CASE WHEN TIMEDIFF(now(),column_from_sometable) > 10 THEN 1 ELSE 0 END)
FROM sometable