3

我有一个 mysql 表,如下所示

   **ip                  page                date                 page_Views
127.0.0.1              index.php           2012-07-09              25
182.445.11.1           abc.php             2012-07-09              11
116.142.24.7           index.php           2012-07-09              3 

我想提取按页面分组的 page_views 列

这意味着'index.php'它显示page_view = 28

我正在使用这个查询

SELECT * FROM stats_trackerGROUP BY page ORDER BY stats_trackerpage_viewsDESC

使用此查询,我根据页面对 page_views 进行分组,但不添加

page_views for index.php =25 根据我上面的查询

4

1 回答 1

9

您需要 SUM 聚合函数:

SELECT
  ip,
  page,
  CONCAT(MIN(date), " - ", MAX(date)) as date_range,
  SUM(page_views) as total_page_views
FROM stats_tracker
GROUP BY page
ORDER BY total_page_views DESC

基本推理是 MySQL 不知道在分组时要如何组合值。有时您想要计算,有时您想要求和,甚至可以使用平均值。查看MySQL 聚合函数页面

于 2012-07-10T19:44:39.153 回答