这是我的疑问:
$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个字段
如何从前一天获得相同的数据?
提前致谢!
答案 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")
关于您的表格结构的信息不足以说明如何在您的案例中应用它。所以你必须弄明白:)