我正在尝试在 PHP 页面中使用 GROUP BY
来SELECT COUNT(*)
。
我有一个如下所示的数据库:
id name
1 W1
2 W1
3 W1
4 W2
5 W2
6 W4
7 W5
8 W4
我的 php 计数函数如下所示:
$result2 = mysqli_query($db_conx, "SELECT COUNT(name) FROM packets GROUP BY name");
$row2 = mysqli_fetch_row($result2);
$num2 = $row2[0];
echo $num2;
但是,上面的代码始终返回数字2
!
根据上面的示例(我的 MYSQL 数据),它应该返回 4
,但它始终返回 2
。
有人可以就这个问题提出建议吗?
提前致谢。
最佳答案
我认为这是您打算运行的查询:
SELECT COUNT(DISTINCT name) FROM packets
正如您所期望的,这将计算数据包表中不同名称的数量。
在您的情况下,数据包 W1
、W2
、W4
和 W5
出现,因此不同的计数是 4(不是您可能期望的 5)。
关于PHP:为什么这个选择计数不能与分组依据一起正常运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46756916/