条件行号

Mar*_*rek 5 sql sql-server row-number sql-server-2012

我试图根据RowNum列的结果放置条件编号.

当RowNum为1时,我希望新列的全新增量为1.

在此输入图像描述

在RoomNum 5栏中的图片应该被2,9替换3m 13乘4等等.我在这个查询中做错了什么?

SELECT  CASE 
        WHEN rownum < 2
    THEN
    Row_number() OVER (
        PARTITION BY Scheme ORDER BY Scheme ASC
        )  
    ELSE NULL
END AS RoomNum,

CASE 
    WHEN rownum > 1
        THEN NULL
    ELSE scheme
    END AS Scheme
,RowNum
Run Code Online (Sandbox Code Playgroud)

Gor*_*off 8

您需要通过与否来划分RoomNmIS NULL.结果值还有CASE:

select (case when roomnum is not null
             then row_number() over (partition by scheme, (case when roomnum is not null then 1 else 0 end)
                                     order by roomnum
                                    )
        end) as RoomNum
Run Code Online (Sandbox Code Playgroud)