如何在MySQL中按增量变量分组

如何在MySQL中按增量变量分组,mysql,Mysql,我正在做一个Bug度量报告。我需要一些定制的表,但是我的查询没有给出预期的输出 我的查询给出了输出。因此,我希望独立柱值必须按项目分组,但它也在计算其他项目值 **Current Output** ********************************************* |Project | Opened | Resolved| Outstanding | ********************************************* | A |

我正在做一个Bug度量报告。我需要一些定制的表,但是我的查询没有给出预期的输出

我的查询给出了输出。因此,我希望独立柱值必须按项目分组,但它也在计算其他项目值

**Current Output**
*********************************************
|Project   | Opened | Resolved| Outstanding |
*********************************************
|  A       |    1   |    0    |    1        |
*********************************************
|  A       |    2   |    1    |    2        |
*********************************************
|  A       |    1   |    2    |    1        |
*********************************************
|  B       |    3   |    2    |    2        |
*********************************************
|  B       |    2   |    1    |    3        |
*********************************************
我想输出像,突出的价值应该为每个项目分别计算。确切地说,当涉及到项目“B”时,它应该显示属于它的唯一未完成的值,而不是添加以前的项目未完成的值

**Expected Output**
*********************************************
|Project   | Opened | Resolved| Outstanding |
*********************************************
|  A       |    1   |    0    |    1        |
*********************************************
|  A       |    2   |    1    |    2        |
*********************************************
|  A       |    1   |    2    |    1        |
*********************************************
|  B       |    3   |    2    |    1        |
*********************************************
|  B       |    2   |    1    |    2        |
*********************************************
我要分组的1列-杰出

2增量变量-@runtot

3未完成的计算-@runtot:=jtb.Opened+@runtot-jtb.Resolved为未完成

我的问题是:

请帮助我:

最后,这给出了一个解决方案。我在查询中又添加了一个全局变量,用于更新项目名称。因此,当一个新项目到达@prev_项目时,它将刷新@runtot=0

查询对我有用:-


请阅读。现在,你的问题中缺少一些样本数据。没有它,你真的很难知道你想从我们这里得到什么。现在一切都好了?如果需要更改,请告诉我。感谢url@waka。图片上的输出与您尝试的查询的输出不匹配,您的查询中有不同的字段。另外,请将结果包括为文本,不包括为图像,并包括产生您收到的结果的样本数据。谢谢@Shadow,我已经删除了我查询中的额外列。为了便于理解,我上传了一张图片,但此后我会在提问时进行更改。
SELECT jtb.Project,jtb.Opened,jtb.Resolved,
(@runtot :=  (jtb.Opened + @runtot) - jtb.Resolved) AS Outstanding FROM
(SELECT ji.project AS Project_Id, 
pr.pname AS Project_Name,
COUNT(DISTINCT(ji.ID)) AS Opened,
COUNT(IF(ji.issuestatus  = 5 OR ji.issuestatus = 6,ji.issuestatus,NULL)) AS Resolved  
FROM  jiraissue ji 
LEFT OUTER JOIN priority p ON (p.ID = ji.priority) 
LEFT OUTER JOIN project pr ON (ji.project = pr.ID)  
GROUP BY ji.project) jtb,
(SELECT @runtot:=0) c
SELECT jtb.Project,jtb.Opened,jtb.Resolved,
(@runtot :=  IF(jtb.Project = @prev_project, ((@runtot+jtb.Opened ) - 
jtb.Resolved),(jtb.Opened - jtb.Resolved))) AS Outstanding,
@prev_project := jtb.Project AS sample_project_name FROM
(SELECT ji.project AS Project_Id, 
pr.pname AS Project_Name,
COUNT(DISTINCT(ji.ID)) AS Opened,
COUNT(IF(ji.issuestatus  = 5 OR ji.issuestatus = 6,ji.issuestatus,NULL)) AS Resolved  
FROM  jiraissue ji  
LEFT OUTER JOIN project pr ON (ji.project = pr.ID)  
GROUP BY ji.project) jtb,
(SELECT @runtot:=0, @prev_project := NULL) c