2012-07-10 49 views
3

我有一个MySQL表我想提取由如何通过值列添加组中的MySQL表

意思为“分组的PAGE_VIEWS列是如下

**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 

的index.php”这表明page_view = 28

我使用这个查询

SELECT * FROM stats_tracker GROUP BY page ORDER BY stats_trackerpage_views DESC

使用此查询我正在根据页面分组的PAGE_VIEWS但根据我上面的查询不加入这样

PAGE_VIEWS为的index.php = 25

回答

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

+0

请填写完整的查询我不是很擅长mysql – 2012-07-10 19:45:49

+0

请注意我对日期的处理,因为如果没有应用那些聚合函数,它们也会失去意义。 – 2012-07-10 19:47:25

+0

查询不正确! – 2012-07-10 19:52:34

相关问题