我正在尝试从 MySQL 表(referrer
列)中检索引用 URL 列表。
referrer
列多次包含相同的 URL,我想计算并打印该 URL 出现的次数。然后按降序打印计数。
我有以下代码,但显然有地方错误
$ref=$icdb->get_row("SELECT COUNT(referrer) AS frequency, referrer FROM url_log WHERE u = '".$dom."' GROUP BY referrer ORDER BY frequency DESC");
foreach ($ref as $details) {
echo "<td>".$details['referrer']."</td><td>".$details['frequency']."</td>";
}
我已将一些 sql 数据导出为数组:
$url_log = array(
array('id' => '681','url_id' => '69','options' => '','created_day' => '20140128','created' => '1390945235','deleted' => '0','u' => 'rch.metwitter','referrer' => 'http://www.domain.com/','ipaddr' => '121.223.91.20','browser' => 'Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko'),
array('id' => '685','url_id' => '69','options' => '','created_day' => '20140130','created' => '1391115029','deleted' => '0','u' => 'rch.metwitter','referrer' => 'http://www.domain.com/?page=custom&id=69','ipaddr' => '121.223.91.20','browser' => 'Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko'),
array('id' => '686','url_id' => '69','options' => '','created_day' => '20140130','created' => '1391116005','deleted' => '0','u' => 'rch.metwitter','referrer' => 'http://www.domain.com/','ipaddr' => '121.223.91.20','browser' => 'Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko')
);
foreach 语句给了我:
3 3 小时
最佳答案
我认为您的问题出在 COUNT(1) 上。 我建议将其更改为 COUNT(referrer)。
关于php - 计算 sql 结果中的重复项并用 PHP 显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21489658/