Sql server XML路径按时间顺序排序

Sql server XML路径按时间顺序排序,sql-server,sql-server-2008,sql-order-by,Sql Server,Sql Server 2008,Sql Order By,我无法按时间顺序对XML路径的季度和年度进行排序。虽然我正在排序,但它不起作用。有人能告诉我哪里出了问题吗 SELECT DISTINCT LON.DATE ,STUFF((SELECT DISTINCT ',' + 'Q' + (COALESCE(CAST(LON1.QTR AS Varchar(10))+ '/ ', '') + + CAST(LON1.YR AS Varchar(10))) FROM LOANTABLE LON1

我无法按时间顺序对XML路径的季度和年度进行排序。虽然我正在排序,但它不起作用。有人能告诉我哪里出了问题吗

 SELECT DISTINCT 
    LON.DATE
    ,STUFF((SELECT DISTINCT   ',' + 'Q' + (COALESCE(CAST(LON1.QTR AS Varchar(10))+ '/ ', '') + + CAST(LON1.YR AS Varchar(10))) 
           FROM LOANTABLE LON1
           WHERE LON.DATE = LON1.DATE 
           FOR XML PATH('')),1,1,'') AS QuarterAndYear
FROM 
   LOANTABLE LON
GROUP BY 
   LON.DATE
ORDER BY 
   QuarterAndYear
这是结果数据:

Date               QuarterAndYear
2011-04-01         Q1/ 2008,Q3/ 2009,Q1/ 2010,Q2/ 2009,Q4/ 2009,Q2/ 2008,Q2/ 2010,Q3/ 2010,Q3/ 2008,Q4/ 2008,Q4/ 2010,Q1/ 2011,Q2/ 2011,Q1/ 
2009 2010-12-01    Q1/ 2010,Q2/ 2010,Q3/ 2010,Q4/ 
2010 2011-07-01    Q1/ 2010,Q3/ 2011,Q2/ 2010,Q3/ 2010,Q4/ 2010,Q1/ 2011,Q2/ 
2011 2012-01-09    Q1/ 2010,Q3/ 2011,Q2/ 2010,Q3/ 2010,Q4/ 2011,Q4/ 2010,Q1/ 2011,Q2/ 
2011 2011-07-08    Q1/ 2010,Q4/ 2009,Q2/ 2010,Q3/ 2010,Q4/ 2010,Q1/ 2011 –
使用以下格式:

 SELECT DISTINCT LON.DATE
                ,STUFF((SELECT DISTINCT   ',' + 'Q' + (COALESCE(CAST(z.QTR AS Varchar(10))+ '/ ', '') + + CAST(z.YR AS Varchar(10))) 
                       FROM (SELECT TOP 100 PERCENT QTR, YR
                             FROM LOANTABLE LON1
                             WHERE LON.DATE = LON1.DATE
                             ORDER BY LON1.QTR DESC
                             )z
                       FOR XML PATH('')),1,1,'') AS QuarterAndYear
FROM LOANTABLE LON
GROUP BY LON.DATE
ORDER BY QuarterAndYear

您可以显示一些示例数据吗?它仍然不起作用。它随机显示自我的日期起的季度和年份。日期字段是仅日期字段,没有任何时间。这是我获得的数据“2011-04-01 2008年第一季度、2009年第三季度、2010年第一季度、2009年第一季度、2009年第二季度、2009年第四季度、2008年第二季度、2010年第二季度、2010年第三季度、2008年第三季度、2008年第四季度、2011年第一季度、2011年第二季度,2009年第1季度2010-12-01 2010年第1季度、2010年第2季度、2010年第3季度、2010年第4季度、2011年第3季度、2010年第3季度、2010年第4季度、2011年第1季度、2011年第2季度2012-01-09 2010年第1季度、2011年第3季度、2010年第2季度、2010年第4季度、2010年第4季度、2011年第1季度、2011年第2季度、2011年7-08年第1季度、2009年第4季度、2010年第3季度、2010年第4季度、2010年第4季度、2011年第1季度、2011年第1季度、2011年第1季度。您希望对数据进行什么样的排序。我现在在结果集中得到的数据是这样的-2010年第1季度、2009年第2季度、2014年第3季度。实际结果应该是有序的,如2014年第3季度、2010年第1季度、2009年第2季度。它应该是按时间顺序排列的。让我们来看看。