如何在mysql表的列中按值添加组

时间:2012-07-10 19:42:03

标签: mysql

我有一个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_tracker GROUP BY page ORDER BY stats_trackerpage_views DESC

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

根据我的上述查询

,index.php = 25的page_views

1 个答案:

答案 0 :(得分:8)

您需要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在分组时不知道如何组合值。有时你想要数,有时总和,甚至平均可用。查看the MySQL Aggregate Functions page