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/