упорядочить по ..PIVOT SQL Server 2012 - PullRequest
0 голосов
/ 03 октября 2019

У меня есть такой сводный стержень

  Select 
    CalendarYear,CalendarMonth,
    count([ID])  as NumberOfOrders 
  FROM[Database].[dbo].[DataTable]
  PIVOT
  (
   SUM(NumberOfOrders) FOR CalendarMonth IN
                       ([1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12])
  )ASpv1

Я хочу сделать заказ на CalendarYear, CalendarMonth, но не могу этого сделать, потому что я не могу разместить заказ до этого сводного периода. Как я могу это сделать, пожалуйста

, пожалуйста, помогите

1 Ответ

1 голос
/ 03 октября 2019

Обратите внимание на подзапрос

Declare @YourTable Table ([ID] int,[CalendarYear] int,[CalendarMonth] int)  Insert Into @YourTable Values 
 (1,2019,1)
,(2,2019,1)
,(3,2019,2)


Select *
 From  (
        Select CalendarYear
              ,CalendarMonth
              ,NumberOfOrders = count(ID)
         From  @YourTable
         Group By CalendarYear,CalendarMonth
       ) src
 Pivot ( sum(NumberOfOrders) for CalendarMonth in ( [1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12]) )  pvt
 Order By CalendarYear

Возвращает

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...