SQL Server数据库分组排序后的操作


  本文标签:SQL Server数据库

  我们今天主要向大家爱描述的是SQL Server数据库分组排序后取每组的第 N 行数据的实际操作步骤,首先我们是从select代码示例开始的,假如你对其实际操作有兴趣了解的话,你就可以通过以下的文章对其进行了解  。

  示例代码select

  1. A.[DocNo] as [docno],   
  2. A1.[Item_ItemCode] as [itemcode],   
  3. A2.[LineNum] as [linenum],   
  4. A2.[ARBillLine] as [arbillLine],  
  5. A2.[Maturity] as [maturity],   
  6. A2.[AROCMoney_TotalMoney] as [totalmoney 

  示例代码select

  1. A.[DocNo] as [docno],   
  2. A1.[Item_ItemCode] as [itemcode],   
  3. A2.[LineNum] as [linenum],   
  4. A2.[ARBillLine] as [arbillLine],  
  5. A2.[Maturity] as [maturity],   
  6. A2.[AROCMoney_TotalMoney] as [totalmoney],   
  7. A2.[AROCMoneyBalance_TotalMoney] as [totalBalanceMoney]   
  8. into #tempShouhuoFenqi  
  9. from AR_ARBillHead as A   
  10. left join [AR_ARBillLine] as A1 on (A.[ID] = A1.[ARBillHead])   
  11. left join [AR_ARInstalment] as A2 on (A1.[ID] = A2.[ARBillLine])  
  12. group by A.DocNo,A1.Item_ItemCode,A2.LineNum,A2.ARBillLine,A2.Maturity,A2.AROCMoney_TotalMoney,A2.AROCMoneyBalance_TotalMoney  
  13. -- select * from #tempShouhuoFenqi  
  14. -- drop table #tempShouhuoFenqi 

  合同起始日期:第期的日期

  1. select docno,arbillline,maturity1   
  2. into #tempMaturity1 from   
  3. (  
  4. select docno,arbillline  
  5. ,maturity as maturity1,  
  6. row_number() over   
  7. (partition by docno,arbillline --按docno,arbillline分组  
  8. order by maturity asc) as rowno --按maturity排序  
  9. from #tempShouhuoFenqi ) x  
  10. where x.rowno=2 --取分组排序后的第行   
  11. ---- select * from #tempMaturity1   
  12. ---- drop table #tempMaturity1  

  

  以上的相关内容就是对SQL Server数据库分组排序后取每组的第N行数据的介绍,望你能有所收获  。