![](/img/trans.png)
[英]Group rows by one column value, sum another column and count occurrences
[英]Count column of table group by rows
我可以使用mysqli_num_rows来计数表的行数 。 我有一个包含相似行的表。 如何按相似的行分组进行计数? 例如:我有一个包含2列的表格: Student和Option 。 假设有50个学生。 经济选项为20,管理选项为20,秘书选项为10。 如何显示这些数字。 我只能显示50。
我的密码
$qry = "select * from table group by option";
$req= @mysqli_query($conn, $qry);
$result = mysqli_query( $conn, "select id from table");
$num_rows = mysqli_num_rows($result);
Students Total (<?php echo $num_rows ?>)
<table >
<tr>
<th>Student</th>
<th>Option</th>
</tr>
<?php
while($row=mysqli_fetch_array($req))
{
?>
<tr>
<td><?php echo $row['student'] ?></td>
<td><?php echo $row['option'] ?></td>
</tr>
<?php
}
?>
</table>
这是您需要的查询:
SELECT COUNT(*) AS `option_count`, * -- returns a count aliased as "options_count"
FROM `table`
GROUP BY `option` -- will group the options and show the counts
现在,您可以回显计数以及其他数据:
echo $row['count_options'];
echo $['options'];
这里的问题是您将无法显示该选项中的每个学生,因为这仅对三个选项进行计数/分组。
看到正确的查询:
$qry = "select option as opt, COUNT(*) AS option from table group by option";
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.