Mysql JIRA:过去x(即30)天的问题状态计数

Mysql JIRA:过去x(即30)天的问题状态计数,mysql,sql,jira,Mysql,Sql,Jira,通过下面的查询,我可以看到给定日期JIRA中所有issueType的发行数量 即 我想要实现的是这样的事实..状态的总计数每天打开和关闭 Date COUNT(Open) COUNT(Closed) 12-1-2012 12 1 13-1-2012 14 5 总的战略是: 从一个月内所有天数的表中选择 左外连接您的表,以获取每天的计数 如果当天没有条目,则需要左外部联接,您希望它显示零值

通过下面的查询,我可以看到给定日期JIRA中所有issueType的发行数量

我想要实现的是这样的事实..状态的总计数每天打开和关闭

Date        COUNT(Open)      COUNT(Closed)
12-1-2012     12                 1
13-1-2012      14                5 

总的战略是:

从一个月内所有天数的表中选择

左外连接您的表,以获取每天的计数

如果当天没有条目,则需要左外部联接,您希望它显示零值

因此,我认为这大概是您不需要完成的,日期函数语法对于您的db可能是错误的,但它会让您更接近:

SELECT aDate
, COALESCE(SUM(CASE WHEN IssueStatus = 'whateverMeansOpen' THEN 1 END,0)) OpenCount
, COALESCE(SUM(CASE WHEN IssueStatus = 'whateverMeansClosed' THEN 1 END,0)) ClosedCount
FROM
(
    SELECT DATEADD(DAY, I, @START_DATE)  aDate
    FROM 
    (
        SELECT number AS I FROM [SomeTableWithAtLeast31Rows]
        where number between 1 and 31
    ) Numbers
    WHERE DATEADD(DAY, I, @START_DATE) < @END_DATE
) DateTimesInInterval 
LEFT OUTER JOIN
(
    Put your query here. It needs to output two columns, DateTimeOfIssue and IssueStatus
) yourHugeQuery ON yourHugeQuery.DateTimeOfIssue BETWEEN aDate and DATEADD(DAY, 1, aDate)
GROUP BY aDate
ORDER BY aDate

我写了JIRA Timecharts插件来实现这一点,但它的使用非常灵活。谢谢Mdoar,有什么链接我可以参考吗?或者可能分享这个查询?哦,从这个链接得到的..有没有可能我知道这个查询?谢谢
Date        COUNT(Open)      COUNT(Closed)
12-1-2012     12                 1
13-1-2012      14                5 
SELECT aDate
, COALESCE(SUM(CASE WHEN IssueStatus = 'whateverMeansOpen' THEN 1 END,0)) OpenCount
, COALESCE(SUM(CASE WHEN IssueStatus = 'whateverMeansClosed' THEN 1 END,0)) ClosedCount
FROM
(
    SELECT DATEADD(DAY, I, @START_DATE)  aDate
    FROM 
    (
        SELECT number AS I FROM [SomeTableWithAtLeast31Rows]
        where number between 1 and 31
    ) Numbers
    WHERE DATEADD(DAY, I, @START_DATE) < @END_DATE
) DateTimesInInterval 
LEFT OUTER JOIN
(
    Put your query here. It needs to output two columns, DateTimeOfIssue and IssueStatus
) yourHugeQuery ON yourHugeQuery.DateTimeOfIssue BETWEEN aDate and DATEADD(DAY, 1, aDate)
GROUP BY aDate
ORDER BY aDate