簡體   English   中英

如何在MySQL中對列進行分組並擺脫重復的ID?

[英]How do I group columns in MySQL and get rid of recurring ids?

的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

但是,如何刪除ID2列中每個ID1的重復編號? 例如, id1為1的計數應為2而不是3,因為我只想對id2中1進行一次計數,而不是兩次。

因此,輸出實際上應該是:

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

我希望這是有道理的。

SELECT id1, COUNT(DISTINCT id2) ...

SELECT id1, COUNT(DISTINCT id2) AS count FROM table GROUP BY id1

使用子查詢:

SELECT 
  t.id1,COUNT(t.id2) AS count
FROM
  (SELECT DISTINCT id1,id2 FROM table) as t
GROUP BY 
  t.id1

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM