我有一个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
降序
使用这个查询,我根据页面对 page_views 进行分组,但不添加
根据我上面的查询,index.php 的 page_views =25
最佳答案
您需要 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 .
关于mysql - 如何在mysql表的列中按值添加分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11420703/