使用MySQL 5.5中的单个查询获取上一天和上周的表中记录数

时间:2015-06-05 12:17:58

标签: mysql

我在一列中有时间戳表(MySQL 5.5)。是否可以在单个查询中获取过去1天(最后86400秒)内的记录数和上周(最后604800秒)的记录数?

我知道如何使用2个查询来完成它,但是知道是否有一些简洁的解决方案会很好。

timestamp > DATE_SUB(NOW(), INTERVAL 1 DAY)
timestamp > DATE_SUB(NOW(), INTERVAL 1 WEEK)

1 个答案:

答案 0 :(得分:0)

Quick and Dirty只是一个联盟。

Select '1 Days', Count(*) as NumberOf from sometable 
Where `timestamp` > DATE_SUB(NOW(), INTERVAL 1 DAY)
union
Select '7 Days', Count(*) as from sometable 
Where `timestamp` > DATE_SUB(NOW(), INTERVAL 1 WEEK)

如果你有很多范围,那么会很痛苦,而且可能很贵。 f因此,您可能希望查看DateDiff来计算一次间隔,然后对其进行计数。