我有一个coldfusion查询结果,其中只包含日期
像
2015-07-14 00:00:00.0
2015-07-22 00:00:00.0
2015-07-24 00:00:00.0
2015-07-27 00:00:00.0
2015-08-04 00:00:00.0
2015-08-05 00:00:00.0
2015-08-15 00:00:00.0
2015-09-01 00:00:00.0
2015-09-02 00:00:00.0
2015-09-21 00:00:00.0
2015-10-14 00:00:00.0
2015-12-10 00:00:00.0
2016-01-13 00:00:00.0
我希望显示基于月份对其进行分组的查询结果
e.g 月份名称作为第一列,然后是每行的月份日期。 我不知道如何在这种情况下对查询进行分组。
答案 0 :(得分:5)
更新您的查询,以获得year
和month
列。您没有指定DMBS,但对于MSSQL,您可以使用year()
,month()
和day()
函数。确保您的查询按年,月和日排序,否则分组将无法正常工作。 ColdFusion还有一个名为monthAsString()
的内置函数,用于将整数转换为月份名称。
SELECT year(datecolumn) AS Year, month(datecolumn) AS month, day(datecolumn) AS day, other, columns
FROM mytable
WHERE x = y
ORDER BY year, month, day
输出为
<cfoutput query="myquery" group="year">
<cfoupt group="month">
#monthAsString(month)#
<cfoutput group="day">
#day# #other# #columns#
</cfoutput>
</cfoutput>
</cfoutput>