如何使用DATE_SUB形成SQL查询来检索和发布昨天的数据?

时间:2014-05-23 22:09:12

标签: php sql

这是我的疑问:

$sql = $db->Query("SELECT a.uid, SUM(a.today_clicks) AS clicks, b.login FROM user_clicks a LEFT JOIN users b ON b.id = a.uid WHERE b.login != '' GROUP BY a.uid ORDER BY clicks DESC LIMIT 3");

以下是我今天用于获得前3位用户的代码:

<tr><?
            $tops = $db->FetchArrayAll($sql);
            foreach($tops as $top){
                echo '<td>'.$top['login'].'</td>';
            }
        ?></tr>

这为我提供了今天点击次数最多的前3个用户名。

这是我的表格结构: 表名:“user_clicks”

6个字段

  1. UID
  2. 模块
  3. total_clicks
  4. today_clicks
  5. MAX_CLICKS
  6. daily_clicks
  7. 如何从前一天获得相同的数据?

    提前致谢!

1 个答案:

答案 0 :(得分:0)

以下是使用与昨天对应的日期过滤列的一种通用方法:

SELECT
  *
FROM
  mytable a
WHERE
    DATE_FORMAT(DATE_SUB(NOW(), INTERVAL 1 DAY), "Y-m-d") = DATE_FORMAT(a.date, "Y-m-d")

关于您的表格结构的信息不足以说明如何在您的案例中应用它。所以你必须弄明白:)