我有一个包含{ Id, Name, Points}
之类的地图/缩小索引(Points
是一个总和)
我可以通过降序Points
轻松查询和订购,以获取元素列表。
现在,在我的应用程序的特定部分中,我需要使用其中一个文档的位置获取单个值。
例如,如果杰克有10分,约翰有15分,简有30分,简的位置是0分。
有没有办法做到这一点比迭代结果更有效率,直到找到我感兴趣的那个?
答案 0 :(得分:-1)
当然, 我们假设你想要列表中的第7个项目。
session.Query<YourIndex.Result, YourIndex>()
.Where( ... )
.OrderByDescending(x=>x.Points)
.Skip(7)
.Take(1)
.ToList();
请注意,您不应该进行深度分页。
答案 1 :(得分:-3)
在T-Sql中
选择前1个ROW_NUMBER()OVER(ORDER BY Points DESC)作为RowN,Id,Name,来自地图的点