单mysql查询

单mysql查询,mysql,group-by,subquery,sum,Mysql,Group By,Subquery,Sum,我希望single mysql查询向下面的查询添加一个新行作为总计,其值为所有列值之和。请帮帮我 SELECT username,enddt,SUM(zerotothirty) AS 0To30, SUM(thirtytosixty) AS 31To60,SUM(sixtytoonetwenty) AS 61To120, SUM(onetwentytotwoforty) AS 121To240,SUM(greaterthantwoforty) AS '>240' FROM (SELEC

我希望single mysql查询向下面的查询添加一个新行作为总计,其值为所有列值之和。请帮帮我

SELECT username,enddt,SUM(zerotothirty) AS 0To30,
SUM(thirtytosixty) AS 31To60,SUM(sixtytoonetwenty) AS 61To120,
SUM(onetwentytotwoforty) AS 121To240,SUM(greaterthantwoforty) AS '>240' 
FROM 
(SELECT username,DATE(enddt) AS enddt,tickid,
 IF(duration <=30, 1,0) zerotothirty,
 IF(duration BETWEEN 31 AND 60, 1,0) thirtytosixty,
 IF(duration BETWEEN 61 AND 120,1,0) sixtytoonetwenty,
 IF(duration BETWEEN 121 AND 240,1,0) onetwentytotwoforty,
 IF(duration >240,1,0) greaterthantwoforty
 FROM report)AS r
 GROUP BY username,DATE(enddt);
使用修改器按以下方式分组:


在您的情况下,这将显示每个用户名的小计,以及所有结果的总计。

要用汇总补充Eggyal的答案,您可以通过将IF和

SELECT 
      username,
      DATE(enddt) AS enddt,
      SUM( IF(duration <=30, 1,0 )) as 0To30,
      SUM( IF(duration BETWEEN 31 AND 60, 1,0 )) as 31To60,
      SUM( IF(duration BETWEEN 61 AND 120,1,0 )) as 61To120,
      SUM( IF(duration BETWEEN 121 AND 240,1,0 )) as 121To240,
      SUM( IF(duration >240,1,0)) as '>240'
   FROM 
      report
   GROUP BY 
      username,
      DATE(enddt)
   WITH ROLLUP

发布您的创建表命令选择username,COUNTDISTINCT tickid作为NewTick,COUNTtickid COUNTDISTINCT tickid作为rebootedtick,SUM IFduration 240,1,0作为“>240”,其中username不为NULL,deptid=1,按用户名分组,并进行汇总@suresh,你发布了一个查询作为评论。您可以随时重新编辑您的帖子并添加到其中。你发布的查询是怎么回事。。除此之外,您现在似乎正在重新计算一个tickID基础。
SELECT 
      username,
      DATE(enddt) AS enddt,
      SUM( IF(duration <=30, 1,0 )) as 0To30,
      SUM( IF(duration BETWEEN 31 AND 60, 1,0 )) as 31To60,
      SUM( IF(duration BETWEEN 61 AND 120,1,0 )) as 61To120,
      SUM( IF(duration BETWEEN 121 AND 240,1,0 )) as 121To240,
      SUM( IF(duration >240,1,0)) as '>240'
   FROM 
      report
   GROUP BY 
      username,
      DATE(enddt)
   WITH ROLLUP