PHP:为什么这个选择计数不能与分组依据一起正常运行?

标签 php mysql

我正在尝试在 PHP 页面中使用 GROUP BYSELECT 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

正如您所期望的,这将计算数据包表中不同名称的数量。

在您的情况下,数据包 W1W2W4W5 出现,因此不同的计数是 4(不是您可能期望的 5)。

关于PHP:为什么这个选择计数不能与分组依据一起正常运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46756916/

相关文章:

PHP自定义session机制——以及cookie过期问题

php curl 多部分/表单数据 : file content not posted

PHP fsockopen() 失败未打开端口但 telnet 工作

php - 我该怎么做才能在我编辑此页面上的单元格时将其保存到数据库的表中?

java - MySQLIntegrityConstraintViolationException 使应用程序崩溃

php - 保持 Sql 连接打开以迭代许多请求?还是关闭每一步?

php - 在 mysql 数据库中显示随机字符而不是 Unicode。?

mysql - 生成带连接的mysql erd

mysql - 插入另一个表中的列,同时匹配两个表中的电子邮件

mysql - 在某些字段中折叠或覆盖具有空值的多行