【发布时间】:2021-04-06 13:16:54
【问题描述】:
我正在尝试基于月份和年份进行 PIVOT。一般来说,我总是卡在枢轴上。尝试从 1 月到 12 月订购月份,但它总是在年份列之后从 12 月到 1 月开始。这是我到目前为止所做的:
SELECT PvtMonth.TYear,
PvtMonth.December,
PvtMonth.November,
PvtMonth.October,
PvtMonth.September,
PvtMonth.August,
PvtMonth.July,
PvtMonth.June,
PvtMonth.May,
PvtMonth.April,
PvtMonth.March,
PvtMonth.February,
PvtMonth.January
FROM
(
SELECT DATENAME(YEAR, InvoiceDate) AS TYear,DATENAME(MONTH, InvoiceDate) AS TMonth, TrackingNo
FROM [MSM14].[dbo].[PVH_Global_Dash]
WHERE ReceiverAddress LIKE '%78 Mccullough%'
) AS P1
PIVOT
(
COUNT(TrackingNo)
FOR TMonth IN
(
[January],
[February],
[March],
[April],
[May],
[June],
[July],
[August],
[September],
[October],
[November],
[December]
)) AS PvtMonth
【问题讨论】:
-
“总是从 12 月到 1 月” 嗯,是的,这就是你定义的...
SELECT ... December, November, October..., January。如果您想要一月的第一天,请在您的SELECT声明中首先列出它。 -
Why should I "tag my RDBMS"? - 请添加标签以指定您使用的是
mysql、postgresql、sql-server、oracle或db2- 或其他完全不同的东西。跨度>
标签: sql sql-server pivot