考慮一個名爲「comments」的MYSQL表,其中包含2列「主機名」和「用戶名」。一張表,兩列MYSQL查詢挑戰
如何返回按主機名排序的列表,其中第二列是與每個主機名關聯的用戶名列表?我可以看到如何用py這樣的腳本語言來做到這一點,但它可能作爲標準的SQL查詢嗎?
如果我做
SELECT hostname, count(distinct(username))
FROM comments
GROUP BY hostname
我幾乎得到正確的結果,但它只是給了我與每個主機名代替每個主機名關聯的用戶名的實際列表關聯的用戶名的號碼...嘗試不同(用戶名)沒有計數()周圍它返回一個語法錯誤。
很酷,我不知道GROUP_CONCAT!你怎麼能「打開它」? – 2010-06-21 07:45:46
評論已刪除...你們這些人非常快。謝謝,我正在嘗試這些建議。 – 2010-06-21 07:46:37
+1 @Justin:做一個更好的測試,GROUP_CONCAT(http://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html#function_group-concat)將確切返回所有與用戶名相關的用戶名主機名。 – Unreason 2010-06-21 07:52:39