7

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

目前我正在使用这条线来显示今天的结果:

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

但这只是给了我过去 24 小时的条目。

示例:假设它是星期五,下午 17:00 - 它给了我从星期四 17:00 PM 到星期五 17:00 PM 的计数

我想要的是得到结果

  • 星期四 00:00:00 - 23:59:59(本例为昨天)
  • 今天的结果 (00:00:00 - 23:59:59)
  • 上周,从星期一 00:00:00 到“今天”(在本例中为星期五)开始的结果。

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

4

3 回答 3

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)
于 2012-11-02T09:11:02.313 回答
0

只需使用这个:

AND comment_date > date_sub(current_date, interval 1 day)
于 2012-11-02T09:14:09.663 回答
0

在这里查看我的答案,我认为这很相关。

从订单表中提取本周的记录

考虑与MySQL 的 GROUP BY亲密接触。如果您使用 MySQL,您很可能需要知道这一点。

于 2012-11-02T09:36:46.653 回答