mysql日期显示今天/昨天/周的结果

时间:2012-11-02 09:00:25

标签: php mysql unix date time

我正在从表中检索数据并显示条目的总和。我想要做的是显示今天,昨天和本月的条目总和。该表使用unix时间戳格式(例如1351771856)。

目前我正在使用此行显示今天的结果:

AND comment_date > UNIX_TIMESTAMP() - 24 * 3600";

但是这给了我过去24小时的参赛作品。

示例:让我们说它的星期五,下午17:00 - 它给我的计数从星期四下午17:00到星期五下午17:00

我想要的是是为了获得

的结果
  • 周四00:00:00 - 23:59:59(本案例昨天)
  • 今天的结果(00:00:00 - 23:59:59)
  • 和上周,结果从星期一00:00:00开始,直到“今天”(在这种情况下是星期五)。

我无法在MySQL文档中找到实现此目的的方法。

3 个答案:

答案 0 :(得分:6)

这个mysql代码应该适合你:

// Today
AND DATE(from_unixtime(comment_date)) = CURRENT_DATE

// Yesterday
AND DATE(from_unixtime(comment_date)) =  DATE_SUB(CURRENT_DATE,INTERVAL 1 DAY)

// This week
AND YEARWEEK(from_unixtime(comment_date), 1) =  YEARWEEK(CURRENT_DATE, 1)

// This month
AND YEAR(from_unixtime(comment_date)) = YEAR(CURRENT_DATE)
AND MONTH(from_unixtime(comment_date)) = MONTH(CURRENT_DATE)

答案 1 :(得分:0)

只需使用:

AND comment_date > date_sub(current_date, interval 1 day)

答案 2 :(得分:0)

在这里看到我的答案,我认为这是非常相关的。

Pull records from orders table for the current week

考虑与 MySQL's GROUP BY建立亲密关系。如果你使用MySQL,你很可能需要知道这一点。