如何在mysql查询中汇总结果

问题描述

使用以下示例数据,

requestedDate         Status
2020-04-21            APPROVED
2020-04-23            APPROVED
2020-04-27            PENDING
2020-05-21            PENDING
2020-06-01            APPROVED

我有以下查询以按状态,年,月等汇总计数

select 
    status,count(*) status_count,date_format(requestedDate,'%b') requested_month,sum(count(*)) over(partition by year(requestedDate),month(requestedDate)) month_count,sum(count(*)) over() total_count
from Reports
where requestedDate between current_date - interval 120 day and current_date
group by status,year(requestedDate),month(requestedDate),'%b') ;
查询

输出如下,

status     status_count requested_month month_count total_count
APPROVED     1             Apr             2           4
PENDING      1             Apr             2           4
PENDING      1             May             1           4
APPROVED     1             Jun             1           4

我是否可以获取如下所示的输出,即状态,月份,该月每个状态的计数以及所述期间内所有记录的总数,

Status     Month  COUNT TOTAL_COUNT
APPROVED    APR    2      5
APPROVED    MAY    0      5
APPROVED    JUN    1      5
PENDING     APR    1      5
PENDING     MAY    1      5
PENDING     JUN    0      5

我的数据库 MysqL 8.0.17

dbfiddle

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)