批量取数据的问题

sinxy sinxy 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
我的表结构大致如下
Name    ID                                      Value 
a 56EEDEB3-D039-46AA-8BDD-33A5C45BE40E 411
b 2BF027AB-3C6B-4EFA-AA4F-978D9A5E761F 15
b F0E2F342-73AA-4A60-ACBD-492ECE6925B6 3
b 0CB5B416-3071-421F-B910-5A3392C5BD19 2
b 11106A31-461A-4925-ADB3-61F13CDF1AB5 250
b D5CE81EF-7DAB-4ABB-A7CA-AC03342AE03B 79
b F23550AA-731B-4EAF-9369-F9C458321B9E 71
c F0E2F342-73AA-4A60-ACBD-492ECE6925B6 374
c FD0DF7B1-A94B-4F70-8E66-75E9625A632C 5
c 7A4D5DE5-07DD-46CE-8B49-90CAFD1B5377 50
c 8A615CA3-941B-40FB-9BD5-A4EA7C119B1D 20
c 3D11CB76-8373-401D-9E9A-A6B24DD73EFF 40
c D5CE81EF-7DAB-4ABB-A7CA-AC03342AE03B 104
d 1C3BA778-9DC7-4F44-8BD8-28DD86A80DAE 4
d FD0DF7B1-A94B-4F70-8E66-75E9625A632C 20
d D5CE81EF-7DAB-4ABB-A7CA-AC03342AE03B 6262
d 6E1A79E0-CC17-4E14-A7C7-ACF82CD3B561 17
d A61DD1C4-108A-4502-94D3-D85E90CB844A 20
e 7012A157-39B1-4241-BDA5-18634A29115D 160
e 2BF027AB-3C6B-4EFA-AA4F-978D9A5E761F 46
e D5CE81EF-7DAB-4ABB-A7CA-AC03342AE03B 21
e 6E1A79E0-CC17-4E14-A7C7-ACF82CD3B561 40
e 56EEDEB3-D039-46AA-8BDD-33A5C45BE40E 5178
e F0E2F342-73AA-4A60-ACBD-492ECE6925B6 5971
e 3D11CB76-8373-401D-9E9A-A6B24DD73EFF 50
e D5CE81EF-7DAB-4ABB-A7CA-AC03342AE03B 1349
e 6E1A79E0-CC17-4E14-A7C7-ACF82CD3B561 2

我批量的传入了一个Name的字符串给SQL Server,现在希望得到的结果是:
每个人(Name)取他的Value值最高的前5个ID,如果不足5个,取实际个数;

我一次大概需要查询1万个人对应的ID,如果对每个Name按照top 5 来取,就需要做1万次查询,有没有什么办法呢?能否一次查询或者几次查询就搞掂呢?
...全文
评论 9
收藏 已收藏
分享
返回顶部
sinxy
MS-SQL Server 34,876 成员 254,635 内容