按月对查询结果进行分组
grouping query results by months
我有一个 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
我想显示按月分组的查询结果
例如
月份的名称作为第一列,然后是每行该月份的日期。
我不知道如何在这种情况下对查询进行分组。
更新您的查询以包含 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>
我有一个 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
我想显示按月分组的查询结果
例如 月份的名称作为第一列,然后是每行该月份的日期。 我不知道如何在这种情况下对查询进行分组。
更新您的查询以包含 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>