SQL Server
Microsoft 关系数据库管理和分析系统的一个系列,用于实现电子商务、业务线和数据仓库解决方案。
206 个问题
我知道,row_number是从1开始的自然数,但是我现在有一种情况需要它不从1开始。
比如说,当part为NULL时,number为1,其余的part从2开始计数:
Part | row_number
NULL | 1
A | 2
A | 3
A | 4
B | 2
B | 3
B | 4
麻烦提供一些想法或建议。
你好,
我知道,row_number是从1开始的自然数
是的,row_number的返回值是从1开始的自然数列,你无法修改初始值。
不过根据你的实际需求,我觉得你可以将除NULL以外的rownumber都加上1,从而得到你想要的结果集。
像这样:
SELECT ROW_NUMBER() OVER (partition by PART order by (select null))+CASE WHEN PART is null THEN 0 else 1 end R
如果答案是正确的解决方案,请点击“接受答案”并投赞成票。如果您对此答案有其他疑问,请点击“评论”。