我有一个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'