取类别区分的TOP10(学习备注)

SELECT [InvNo],[Model],[Amount] 
FROM  (SELECT [InvNo],[Model],[Amount],ROW_NUMBER() OVER(partition by [InvNo] ORDER BY [Amount] DESC) AS [Row Number]
       FROM [InvoiceDetail]) A
WHERE [Row Number]<=10 


FOR SQL SERVER 2005 以上版本。主要是row_number()函数,和分区OVER的使用。


你可能感兴趣的:(取类别区分的TOP10(学习备注))