[英]count database rows by id
我正在尝试从数据库中计算$active_ids
。 但我不知道如何做到最好。 作为免责声明,我仍在学习 MySQL/PHP。
这就是它现在的回声
1, 3, 4, 1, 1
如果计算它会是什么样子
3, 1 ,1
<?php
$active_ids = '1, 3, 4';
$query = "SELECT * FROM users WHERE id IN ({$active_ids})";
$result = $mysqli->query($query);
if($result->num_rows > 0){
while($row = $result->fetch_assoc()){
echo $row['username'], "<br/>";
}
$query = "SELECT COUNT(*) FROM timetable WHERE dj IN ({$active_ids})";
$result = $mysqli->query($query);
while($row = $result->fetch_assoc()){
echo $row['dj'], "<br/>";
}
}
?>
我不太了解 PHP,但我了解 SQL。 听起来您想使用 GROUP BY 子句,如下所示:
select dj, count(*) as n from timetable
where dj in ({$active_ids})
group by dj
选择的每一行将有两列。 第一列(名为“dj”)是 dj 的用户 ID,第二列(名为“n”)是时间表中具有该 dj id 的条目数。 您应该能够像这样打印计数:
echo $row['n'], "<br/>";
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.