我有一个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_tracker
。page_views
DESC
使用此查询我根据页面对page_views进行分组,但不添加
根据我的上述查询
,index.php = 25的page_views答案 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。