在 SQL 的同一列中返回 MONTH 和 YEAR
Posted
技术标签:
【中文标题】在 SQL 的同一列中返回 MONTH 和 YEAR【英文标题】:Returning MONTH and YEAR in the same column in SQL 【发布时间】:2013-06-05 19:22:20 【问题描述】:目前我有一个返回 MONTH、YEAR、COUNT(*) 的查询。
我正在使用的图表程序需要将日期字段放在一个单元格中。我正在制作月度图表,因此我需要将每个月(例如 2011 年 1 月)返回为 2011-01-31(最好是每个月的最后一天。
为了弥补我可能留下的任何漏洞:我有很多人在我的网站上注册的日期。我只需要返回一个两列查询:
|年月 |计数(*)|
提前感谢大家的帮助!如果我需要澄清任何部分,请告诉我。
【问题讨论】:
嗯,你有什么尝试? 我已经构建了返回 MONTH YEAR COUNT* 的视图。我正在考虑使用 cast 或 convert 尝试将两个 MNTH/YR 列合并为一个。 我对此的超级迂回解决方案将是一个表,我将每个时间戳的每一天都转换为 01,然后运行 DATE、COUNT* 的查询。但这只是因为我在想超级开箱即用,因为我正在抓住稻草。 @Patrick 谢谢你,看起来很有帮助。试试看! 【参考方案1】:您可以使用DATE_FORMAT
组合它们:
SELECT DATE_FORMAT(myDateColumn, '%Y-%m'), COUNT(*)
FROM myTable
GROUP BY DATE_FORMAT(myDateColumn, '%Y-%m')
ORDER BY 1
【讨论】:
【参考方案2】:date_format() function 可能就是您要找的。p>
select date_format(your_column_name, '%Y-%m')
from your_table;
【讨论】:
以上是关于在 SQL 的同一列中返回 MONTH 和 YEAR的主要内容,如果未能解决你的问题,请参考以下文章