繁体   English   中英

按行对表分组的列进行计数

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM