我有一個名爲「r」的表,裏面的表我存儲了id,ip和country。我正在運行此查詢:在MySQL DISTINCT + COUNT查詢上需要幫助
SELECT r.country, count(rr.ip), count(DISTINCT rr.ip)
FROM `r`
LEFT JOIN r rr
ON r.country = rr.country
GROUP BY r.country
我確實得到列的行:「國家」;「數字」;「數字」; 但是「counts()」沒有顯示我希望顯示的內容(每個國家的原始/唯一Iips計數),我不知道爲什麼。例如,對於美國,我看到> 2000個獨特的ips,但在數據庫中只有500個條目。我的查詢出了什麼問題?
我想從數據庫中檢索的是包含列的行的列表:countries + count raw ips + count unique ips。 (計數與每個國家有關),我的意思是檢索不同國家的清單並對每個國家進行計數(無需執行多個查詢)。
我想要IP的總數和每個國家(從不全局)IPS的總UNIQUE數量。將立即檢查並嘗試您的查詢,謝謝。 更新:看起來你的查詢檢索我需要的數據,非常感謝。 – gtilx 2010-10-10 03:39:59
是的,我在編寫查詢之前就明白了,但忘記刪除文本。我認爲RedFilter的答案更好,順便說一句,如果它有效。我不確定您是否可以在同一個查詢中使用不同的計數。 – 2010-10-10 03:42:16