php - PHP Mysql 根据列对结果进行分组统计

标签 php mysql

我有一个表格记录对这样的页面的点击:

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" );

http://www.mysqltutorial.org/mysql-group-by.aspx

关于php - PHP Mysql 根据列对结果进行分组统计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47251501/

相关文章:

php - 加入mysql查询

php - 查询限制被忽略

php - Android/php : Using PDO to retrieve a set of results using 'LIKE' , 并解析为 JSON

mysql - 如何删除名称中包含字符 '?' 的数据库?

MySQL 数据库() 与数据库名称

MySQL 时间戳 +5 小时

mysql - 从 Mysql 的表中选择唯一的组合

php - 通过 PHP、HTML5、jQuery 使用语音控制 Web 表单?

php - 将MySQL数据合并到同一个列表中

MYSQL 1215 无法添加外部约束