いくつかのデータを準備します。
CREATE TABLEを [ DBO ]。[ SalesPerformance ] ( [ ID ] [ INT ] IDENTITY(1、1)NOT NULL 、 [ セールスマン] NVARCHAR(30)NOT NULL 、 [ 受注日] [ DATE ] NULL 、 [ 売り] DECIMAL(18、2)NULL ) GO SELECT [ セールスマン]、[ 受注日]、[ 売り] FROM [ DBO ]。【SalesPerformance ] GO
セールスマン受注日は販売 S0003 2019 - 05 - 12 23800.00 S0008 2019 - 05 - 19 66528.00 S0001 2019 - 05 - 05 35455.00 S0001 2019 - 05 - 18 75220.00 S0003 2019 - 05 - 17 33658.00 S0041 2019 - 05 - 10 56300.00 S0041 2019 - 05 - 11 41811.00 S0003 2019 - 05 - 20 26309.00 S0007 2019 - 05 - 02 41811.00 S0022 2019 - 05 - 26 26309.00 S0032 2019 - 05 - 20 20000.00 S0050 2019 - 05 - 28 20000.00
各店員の統計BY SUMやGROUPを使用します。
SELECT [Salesman] AS [业务员],MONTH([OrderDate]) AS [月份], SUM([Sell]) AS [销售量] FROM [dbo].[SalesPerformance] GROUP BY [Salesman],MONTH([OrderDate])
然后使用RANK进行排名,看看谁是销售冠军,谁与谁同级:
;WITH [QuantityOfSale] AS ( SELECT [Salesman] AS [业务员],MONTH([OrderDate]) AS [月份], SUM([Sell]) AS [销售量] FROM [dbo].[SalesPerformance] GROUP BY [Salesman],MONTH([OrderDate]) ) SELECT [业务员],[月份],[销售量],RANK() OVER( ORDER BY [销售量] DESC) [销售排名] FROM [QuantityOfSale]