SQL分组编号

IF OBJECT_ID(N'tempdb..#tmp') IS NOT NULL

    DROP TABLE #tmp

   

CREATE TABLE #tmp ( aaa VARCHAR(10), bbb INT )

 

INSERT  INTO #tmp

        ( aaa, bbb )

VALUES  ( '11111', 5 )

INSERT  INTO #tmp

        ( aaa, bbb )

VALUES  ( '11111', 3 )

INSERT  INTO #tmp

        ( aaa, bbb )

VALUES  ( '11111', 2 )

INSERT  INTO #tmp

        ( aaa, bbb )

VALUES  ( '44444', 1 )

INSERT  INTO #tmp

        ( aaa, bbb )

VALUES  ( '44444', 3 )

SELECT * FROM #tmp

select aaa,bbb,row_number()over(partition by aaa order by aaa) rn from #tmp

 

 

 

IF OBJECT_ID(N'tempdb..#tmp') IS NOT NULL

    DROP TABLE #tmp

   

CREATE TABLE #tmp ( aaa VARCHAR(10), bbb INT )

INSERT  INTO #tmp

        ( aaa, bbb )

VALUES  ( '11111', 5 )

INSERT  INTO #tmp

        ( aaa, bbb )

VALUES  ( '22222', 3 )

INSERT  INTO #tmp

        ( aaa, bbb )

VALUES  ( '33333', 2 )

INSERT  INTO #tmp

        ( aaa, bbb )

VALUES  ( '44444', 1 )

INSERT  INTO #tmp

        ( aaa, bbb )

VALUES  ( '55555', 3 )

 

 

SELECT  *

FROM    #tmp

 

 

SELECT  b.aaa ,

        b.bbb ,

        a.number

FROM    #tmp b

        JOIN master.dbo.spt_values a ON 1 = 1

WHERE   a.number > 0

        AND a.number <= 2000

        AND a.type = 'p'

        AND a.number <= b.bbb

转载于:https://www.cnblogs.com/anranstl/p/5241272.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值