我有一个名为“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