MySQL:按查询统计分组总数
我有一张这样的桌子: ----------------------------------- | Name | Date | Campaign | ----------------------------------- | John | July | Email | | Carl | August | Phone | | John | July | Phone | | Robert | August | Phone | | Carl | September | Email | | John | August | Phone | | Carl | August | Email | | John | July | Email | | Robert | September | Phone | | Carl | August | Email | ----------------------------------- 我按日期和活动对数据进行分组,但我希望增加一列,以显示包含该活动的行的总数 我使用的查询: SELECT campaign,name, SUM(IF(date = 'July',1,0)) AS July, SUM(IF(date = 'August',1,0)) AS August, SUM(IF(date = 'September',1,0)) AS September FROM table GROUP BY name,campaign 但我想修改它以获得以下输出: ---------------------------------------------------------------------------------------- | Campaign | Name | July | August | September | SUM July | SUM August | SUM September | ---------------------------------------------------------------------------------------- Email John 2 0 0 2 2 1 Phone John 1 1 0 1 3 1 .... .... 我想与所有的电话或电子邮件按月份区分的值的总和列MySQL:按查询统计分组总数,mysql,Mysql,我有一张这样的桌子: ----------------------------------- | Name | Date | Campaign | ----------------------------------- | John | July | Email | | Carl | August | Phone | | John | July | Phone | | Robert | August |
添加:我意识到这并不是你想要的,但这是一种通过分组获得总数的简单方法。。。使用汇总: 输出:
Campaign Name July August September
Email Carl 0 2 1
Email John 2 0 0
Email (null) 2 2 1
Phone Carl 0 1 0
Phone John 1 1 0
Phone Robert 0 1 1
Phone (null) 1 3 1
(null) (null) 3 5 2
campaign name July August September campaign Julysum Augustsum Septembersum
Email John 2 0 0 Email 2 2 1
Phone John 1 1 0 Phone 1 3 1
每种类型的活动的每月总数显示在带有活动名称和名称空值的行中。两种类型活动的每月总计显示在底部一行,活动和名称的值为空
请尝试以下内容:
输出:
Campaign Name July August September
Email Carl 0 2 1
Email John 2 0 0
Email (null) 2 2 1
Phone Carl 0 1 0
Phone John 1 1 0
Phone Robert 0 1 1
Phone (null) 1 3 1
(null) (null) 3 5 2
campaign name July August September campaign Julysum Augustsum Septembersum
Email John 2 0 0 Email 2 2 1
Phone John 1 1 0 Phone 1 3 1
提示:您需要子查询来解决您的问题。这是我想应用的选择,但我找不到解决方案。请考虑在演示层/应用程序级代码中处理数据显示的问题,假设您有一个简单的PHP循环,作用于有序数组。不需要子查询。将数据导出到SQL我不能使用PHP ScriptsHanks来提供帮助,这对我来说不是一个好的解决方案,我需要它们作为列而不是行。不用担心,我不确定你有多受限制,所以我认为我应该提供此帮助谢谢你。这个答案与解决方案非常接近,但有2倍的活动列,并且必须导出一个SQL,该SQL被导入到我无法添加列的系统中,这是一个小问题。我已经更新了列选择-您现在可以检查