php - 如何对 MySQL 中的列进行分组并消除重复出现的 ID?

标签 php mysql count group-by

MySQL

+-----+-----+
| id1 | id2 |
+-----+-----+
|  1  |  1  |
+-----+-----+
|  1  |  1  |
+-----+-----+
|  1  |  2  |
+-----+-----+
|  2  |  1  |
+-----+-----+

PHP

$a = mysql_query("SELECT id1, COUNT(id2) AS count FROM table GROUP BY id1");
while($b = mysql_fetch_assoc($a))
{
    echo 'id1: '.$b['id1'].' | count: '.$b['count'].'<br />';
}

输出:

id1: 1 | count: 3
id1: 2 | count: 1

但是如何删除每个 id1 的 id2 列中重复出现的数字?例如,id1 为 1 的计数应该是 2,而不是 3,因为我只想对 id2 中的 1 计数一次,而不是两次。

所以,输出实际上应该是:

id1: 1 | count: 2
id1: 2 | count: 1

我希望这是有道理的。

最佳答案

选择 id1, COUNT(DISTINCT id2) ...

关于php - 如何对 MySQL 中的列进行分组并消除重复出现的 ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5128006/

相关文章:

python - 计算 Python 列表中的类实例

mysql - LINQ MySQL Group by Year, Month, Day 选择 Year, Month, Day, Count

php - 完全开源的网站

php - 如何连接共享 1 列且 ID 相同的 2 个表并向其中添加 WHERE 子句

c# - 发生异常 .. 关键字 'Table' 附近的语法不正确

java - 使用 Java 集合对对象列表进行分组和计数

java - 无法在 NetBeans 8.2 和 Apache 11 w/JDK 8u221 中创建 PHP 项目(卡在 40%)

php - 在 Woocommerce 中为特定支付网关添加自定义费用

Mysql 更新表,同一个表内有多个子查询

php - 克隆(例如 db_de)数据库并将其翻译为第二种语言是否合理?