鉴于我在TempTable中有以下数据集:
Item Item Desc Location Qty LeasedQty
----------------------------------------------------------------
IT2250 1/2CANTOP NYC 1.00 30.00
IT5550 FCM 2K NYC 6.00 8.00
IT2075 HPTL 750 LA 4.00 44.00
IT12506 DOUBLE DOOR 10" CALI 60.00 0.00
IT3606 BAG180 CALI 25.00 0.00
IT3606 BAG180 NYC 20.00 40.00
IT3606 BAG180 LA 5.00 45.00
IT50 2K NYC 6.00 8.00
IT50 2K LA 4.00 44.00
IT50 2K CALI 60.00 0.00
如何对这些数据进行分区,使其与以下内容类似:
Item Item Desc Location Qty LeasedQty RNK
----------------------------------------------------------------------
IT2250 1/2CANTOP NYC 1.00 30.00 1
IT5550 FCM 2K NYC 6.00 8.00 2
IT2075 HPTL 750 LA 4.00 44.00 3
IT12506 DOUBLE DOOR 10" CALI 60.00 0.00 4
IT3606 BAG180 CALI 25.00 0.00 5
IT3606 BAG180 NYC 20.00 40.00 5
IT3606 BAG180 LA 5.00 45.00 5
IT50 2K NYC 6.00 8.00 6
IT50 2K LA 4.00 44.00 6
IT50 2K CALI 60.00 0.00 6
基本上,我希望数据按每个项目分组,并根据数量收集前20项(DESCENDING)
答案 0 :(得分:0)
要获得该等级,这将有助于您
SELECT Dense_rank()
OVER (
ORDER BY Item) rnk,
*
FROM TempTable
已添加以获得前20条记录
SELECT TOP 20 *
FROM (SELECT Dense_rank()
OVER (
ORDER BY Item,qty desc) rnk,
*
FROM TempTable) a
WHERE rnk <= 20