SQL Server:dense_rank()
我有一个表A: (ID int,batch int,new_batch int)
ID和batch已经填充:
ID Batch New_Batch
1 01 NULL
2 01 NULL
3 02 NULL
4 02 NULL
5 02 NULL
6 03 NULL
7 04 NULL
8 05 NULL
现在我想根据以下select语句填充New_batch。
(select batch from tableA where id in (3,8))
- 现在对于这个 select 语句,我们得到batch = 02 和batch =5。现在我想分配new_batch,以便首先对select语句的结果进行排序(batch02然后batch05),其余数据应按批处理的递增顺序而不是在select语句中排序。 (第1、3、4批) 结果应该是:
ID Batch New_Batch
1 01 03
2 01 03
3 02 01
4 02 01
5 02 01
6 03 04
7 04 05
8 05 02
谢谢。 PS:可以使用DENSE_RANK(),请不要硬编码!
I have a tableA:
(ID int, batch int, new_batch int)
ID and batch are populated already:
ID Batch New_Batch
1 01 NULL
2 01 NULL
3 02 NULL
4 02 NULL
5 02 NULL
6 03 NULL
7 04 NULL
8 05 NULL
Now I want to populate New_batch according to the following select statement.
(select batch from tableA where id in (3,8))
- now for this select statement, we get batch = 02 and batch =5. now I want to assign new_batch such that the result of select statement should be ordered first (batch02 then batch05) and the remaining data should be ordered in increasing order of batch NOT in select statement. (batch 1,3,4)
result should be:
ID Batch New_Batch
1 01 03
2 01 03
3 02 01
4 02 01
5 02 01
6 03 04
7 04 05
8 05 02
Thanks.
PS: DENSE_RANK() can be used, and please dont hard-code !!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
在这里尝试:
Try here : https://data.stackexchange.com/stackoverflow/q/113031/