sql - How to increment with limited value
问题描述
Hello everyone i am Working on table in with i have around 2million records and i want to add two column PageNo and serialNo based on acc_no
Eg:-
acc_no PageNo SerialNo
abc1 0001 0001
cbf2 0001 0002
.
.
zcd6 0001 9999
Once SerialNo Reach to 9999 then PageNo Start With 0002
eg:-
acc_no PageNo SerialNo
abc1 0002 0001
cbf2 0002 0002
.
.
zcd6 0002 9999
and So on I have tried
Select right('0000'+cast(ROW_NUMBER() over(order by acc_no) as varchar(100)),4) PageNo,acc_no from [table Name]
But i am not getting how to do Need help
解决方案
用这个
select acc_no, ((rno-1) /9999) +1 pageNo, ((rno-1) % 9999) + 1 SerialNo
from (
SELECT acc_no , (ROW_NUMBER() over(order by acc_no )) rno
FROM [table Name]
) t
推荐阅读
- r - R 脚本可以嵌入到 Tableau 中以生成数据集吗?
- python - 使用pygame从列表中选择随机图像
- r - 如何计算两个给定日期之间的月数(基线和后续)
- android - 我可以在 Visual Studio Code 中编译 Android Studio 项目吗?
- excel - 如果其中的列包含指定值(新工作表中的另一列),如何将行复制到另一个 Excel 工作表?
- php - 更改 Laravel 中的默认身份验证保护名称
- c# - 如何获取 Q# 操作参数的类型?
- html - CSS 图像掩码未显示在边缘,但在 Firefox 和 Chrome 中运行良好
- algorithm - 具有收敛级数的 Max-heapify
- c# - Jmeter 非 HTTP 响应代码:org.apache.http.conn.HttpHostConnectException