我有一个mySQL表,其中包含访问过我的站点的用户的记录。我想做的是找出我的表中有多少条记录,但只计算重复值一次,以便找出有多少唯一的访问者。
我使用下面的代码来查找我每个月的点击量。

$pageViews = mysql_query("SELECT * FROM JB_Statistics WHERE month='$month' ");
$numRowsPV = mysql_num_rows($pageViews) ;

while ($row = mysql_fetch_assoc($pageViews)) {
    $month = $row['month'];
}

echo "<p>Month: $month, Total Hits: $numRowsPV </p>";

JB_Statistics表还有一个ip地址和浏览器字段,每个点击都有唯一的信息,那么有没有办法使用它来修改上面的代码并每月查找唯一的访问者?
抱歉,如果这是直截了当的,但我执行的每个搜索返回的主题只找到重复的记录。

最佳答案

SELECT COUNT(*)                             AS DistinctClicks
     , COUNT(DISTINCT IpAddress)            AS DistinctIpAddresses
     , COUNT(DISTINCT Browser)              AS DistinctBrowsers
     , COUNT(DISTINCT IpAddress, Browser)   AS DistinctUsers      --- hopefully
FROM JB_Statistics
WHERE month='$month'

09-30 17:36
查看更多