按月和一年的小组多年

发布于 2025-02-12 00:19:45 字数 1243 浏览 2 评论 0原文

寻求帮助,我敢肯定是一个简单的新秀错误。在我的查询中逐函数的组没有区分不同的年份。所有年份的7月数据都包含在同一行中,而不是按月+年。我想念什么?

这是除函数组以外的其他疑问:

SELECT  
`index`,  
`month`,  
`year`,   
sum(maintained) as maintained,   
sum(repaired) as repaired  
FROM
(  
SELECT   
        MONTH(`service_date`) AS 'index',  
        MONTHNAME(`service_date`) AS 'month',  
        YEAR(`service_date`) AS 'year',  
        COUNT(`service_date`) AS 'maintained',  
        0  AS repaired  
FROM  `service_log`  
GROUP BY MONTH(`service_date`)   

UNION  

SELECT   
        MONTH(`service_date`) AS 'index',  
        MONTHNAME(`service_date`) AS 'month',  
        YEAR(`service_date`) AS 'year',  
        0 AS 'maintained',  
        COUNT(`other_repairs`) AS 'repaired'  
FROM  `service_log`  
GROUP BY MONTH(`service_date`)  
)  
  
AS union_name  
GROUP BY `year`,`month`  
ORDER BY `year` DESC,`index`  DESC  

输出以这种形式:

每月维修26日30
2022年7月45日45
6月45日20223026
2022 2022204月26日
2022年4月1919

Looking for help with what I'm sure is a simple rookie mistake. The GROUP BY function in my query is not distinguishing between different years. Data for July for all years are being included on the same row rather than by month+year. What am I missing?

This is the query that other than the GROUP BY function works properly:

SELECT  
`index`,  
`month`,  
`year`,   
sum(maintained) as maintained,   
sum(repaired) as repaired  
FROM
(  
SELECT   
        MONTH(`service_date`) AS 'index',  
        MONTHNAME(`service_date`) AS 'month',  
        YEAR(`service_date`) AS 'year',  
        COUNT(`service_date`) AS 'maintained',  
        0  AS repaired  
FROM  `service_log`  
GROUP BY MONTH(`service_date`)   

UNION  

SELECT   
        MONTH(`service_date`) AS 'index',  
        MONTHNAME(`service_date`) AS 'month',  
        YEAR(`service_date`) AS 'year',  
        0 AS 'maintained',  
        COUNT(`other_repairs`) AS 'repaired'  
FROM  `service_log`  
GROUP BY MONTH(`service_date`)  
)  
  
AS union_name  
GROUP BY `year`,`month`  
ORDER BY `year` DESC,`index`  DESC  

The output is in this form:

MonthMaintRepair
July 20228045
June 20223021
May 20222026
April 20223019

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文