首页 > 数据库 > mysql教程 > 如何按月和年对 SQL 数据进行分组以进行报告?

如何按月和年对 SQL 数据进行分组以进行报告?

Mary-Kate Olsen
发布: 2025-01-05 12:10:43
原创
178 人浏览过

How Can I Group SQL Data by Month and Year for Reporting?

按月和年对 SQL 数据进行分组

在 SQL 查询中,经常需要按月和年对数据进行分组进行分析。这涉及到创建一个表示所需分组组合的新列。

考虑以下查询:

SELECT MONTH(date) AS Mjesec, SUM(marketingExpense) AS SumaMarketing, SUM(revenue) AS SumaZarada
FROM [Order]
WHERE (idCustomer = 1) AND (date BETWEEN '2001-11-3' AND '2011-11-3')
GROUP BY MONTH(date), YEAR(date)
登录后复制

此查询按月对数据进行分组,导致 9 月的输出类似于“9” 。要同时显示月份和年份,我们可以使用 CAST 函数将月份和年份值转换为字符串,并用连字符连接它们。

SELECT CAST(MONTH(date) AS VARCHAR(2)) + '-' + CAST(YEAR(date) AS VARCHAR(4)) AS Mjesec, SUM(marketingExpense) AS SumaMarketing, SUM(revenue) AS SumaZarada
FROM [Order]
WHERE (idCustomer = 1) AND (date BETWEEN '2001-11-3' AND '2011-11-3')
GROUP BY CAST(MONTH(date) AS VARCHAR(2)) + '-' + CAST(YEAR(date) AS VARCHAR(4))
登录后复制

此修改将以所需的格式显示结果,例如,“9-2011”。

或者,我们可以使用带有前导零的 CAST 函数来确保一致格式:

GROUP BY
  CAST(YEAR(date) AS VARCHAR(4)) + '-' + right('00' + CAST(MONTH(date) AS VARCHAR(2)), 2)
登录后复制

这将导致输出如“2011-09”。

以上是如何按月和年对 SQL 数据进行分组以进行报告?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板