我有一个表格记录对这样的页面的点击:
id | ip_address | page_id
---------------------------------------
1 | 192.123.456.78 | 2787321
2 | 192.000.000.00 | 2787321
3 | 192.123.456.78 | 342415
4 | 192.123.456.78 | 2787321
5 | 192.432.999.80 | 2787321
我得到的结果是这样的:
$getHits = $wpdb->get_results( "SELECT * FROM $table WHERE page_id = $pageID" );
我想根据每个 IP 访问相同 page_id
的次数显示按 ip_address
分组的结果。
所需输出示例(其中 $pageID = 2787321
):
192.123.456.78 - 2 Views
192.000.000.00 - 1 View
192.432.999.80 - 1 View
我一直在尝试一些事情(主要是分组并运行 while 和 foreach 循环)但它很快变得非常复杂,我无法让它工作。
有人能给我指出正确的方向吗?
最佳答案
你不应该将 var 用于动态查询你有 sqlinjection 的风险 无论如何
$wpdb->get_results( "SELECT ip_address, count(*) hits
FROM $table WHERE page_id = $pageID
GROUP BY ip_address
ORDER BY hits DESC" );
关于php - PHP Mysql 根据列对结果进行分组统计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47251501/