0
我有一個Users
表,其中列的數據類型爲DateTime
。現在,我想顯示我的數據是這樣的:將月份顯示爲SQL Server中的列
Jan | Feb | Mar | So on.....
--------------------
2 | 3 | 5 |
該數字顯示卡每月過期的數量。
這裏是我的嘗試:
DECLARE @Month TABLE
(
Id INT,
Name VARCHAR(10)
);
INSERT INTO @Month (Id, Name)
VALUES (1, 'Jan'), (2, 'Feb'), (3, 'Mar'), (4, 'Apr'), (5, 'May'),
(6, 'Jun'), (7, 'Jul'), (8, 'Aug'), (9, 'Sep'), (10, 'Oct'),
(11, 'Nov'), (12, 'Dec');
SELECT COUNT('t'), M.Name
FROM Users U
INNER JOIN @Month M ON M.Id = DATEPART(MONTH, U.CARD_EXPIRY)
WHERE MyCondition
GROUP BY M.Id, M.Name
ORDER BY M.Id
但數據被返回的行明智的,是這樣的:由
C Name
-------------
2764 Jan
3065 Feb
2849 mar
2158 Apr
2503 May
2925 Jun
2109 Jul
1399 Aug
1583 Sep
1820 Oct
1552 Nov
1912 Dec
https://stackoverflow.com/a/185548/3270427 – McNets
我需要短名稱現在:) – user960567
爲Fa r據我所知您正在尋找PIVOT解決方案。 https://blogs.msdn.microsoft.com/spike/2009/03/03/pivot-tables-in-sql-server-a-simple-sample/ – McNets