我想为我的网站制作高分表 我正在使用PHP,我得到了一个PDO设置
我有两张桌子
日志
id -- the id of incoming log
user_id -- User ID
用户
ID -- User ID
username -- Username
password -- Pass
email -- email
我想计算每个user_id
有多少个日志,并显示哪个user_id/username
获得的日志最多
我必须显示用户名,因此必须通过ID
我用它来获取总用户数:
// functions.php:
class stats {
function totalUsers($db) {
$SQL = $db -> query("SELECT COUNT(*) FROM users");
return $SQL->fetchColumn(0);
}
}
// index.php
require_once 'includes/functions.php;
echo $stats -> totalUsers($db);
答案 0 :(得分:0)
在mysql中使用group by子句
$SQL = $db->query("SELECT COUNT(*) FROM logs GROUP BY user_id");
如果您加入表格,您可以获取用户信息
$sqlQuery = "SELECT users.id, users.email, COUNT(logs.*)
FROM logs
LEFT JOIN logs.user_id = users.ID
GROUP BY logs.user_id"
$sqlResults = $db->query($sqlQuery );