如何在sql中按月份年份组合列显示数据结果?
问题描述:
我想先取一个月,然后每年以显示顺序如下数据如何在sql中按月份年份组合列显示数据结果?
count Date
------- ----------
5 Aug 2011
6 jan 2008
10 feb 2009
我想结果作为第一显示2008年的一年,那么2009年一样聪明订购明智的日期,并且应在显示一个月订购明智
答
下面是解..
select convert(char(3), Date, 0)+' '+RIGHT(CONVERT(varchar, YEAR(Date)), 4) as [Date]
,count(id) as Count from Tabletest
group by convert(char(3), Date, 0)+' '+ RIGHT(CONVERT(varchar, YEAR(Date)), 4),month(Date),YEAR(Date)
order by YEAR(Date),MONTH(Date)
答
假设:
- 您正在试图计算记录按年份和月份
- 分组有一个名为
Table1
与表列名为EventDate
- 您正在使用SQL Server(没有指定)
- 你不介意在输出额外的列(你可以忽略你不需要的列)
- 你想按年计算,然后按年份,然后按月
基于这些假设,下面应该给你你想要的。
SELECT COUNT(*) AS Count,
CONVERT(CHAR(3), DATENAME(MONTH, EventDate))
+ ' ' + CONVERT(CHAR(4), YEAR(EventDate)) AS Date,
MIN(YEAR(EventDate)) AS Year, MIN(MONTH(EventDate)) AS Month
FROM Table1
GROUP BY CONVERT(CHAR(4), YEAR(EventDate)),
CONVERT(CHAR(3), DATENAME(MONTH, EventDate))
ORDER BY COUNT(*), Year, Month
你的问题不明确。你想做什么? – Dhwani 2013-03-01 04:56:28
请详细说明。显示有问题的表格和字段的结构以及样例输出的列表。 – gmm 2013-03-01 05:19:32
给出一些关于结构和预期结果的更多信息 – Aspirant 2013-03-01 06:23:25