根据索引和顺序获取元素的位置

时间:2014-10-31 12:12:17

标签: ravendb

我有一个包含{ Id, Name, Points}之类的地图/缩小索引(Points是一个总和)

我可以通过降序Points轻松查询和订购,以获取元素列表。

现在,在我的应用程序的特定部分中,我需要使用其中一个文档的位置获取单个值。

例如,如果杰克有10分,约翰有15分,简有30分,简的位置是0分。

有没有办法做到这一点比迭代结果更有效率,直到找到我感兴趣的那个?

2 个答案:

答案 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,来自地图的点