0
我試圖根據int
得分建立排行榜。我拉出來的記錄和計算,像這樣的排名:Linq to SQL重複排名
//Base query
var query = UoW.Repository<UserProfile>().Get().OrderByDescending(u => u.Points);
//Fetch the data including a groupby count
var data = await query
.Skip(skip)
.Take(pageSize)
.Select(u => new UserListItem
{
Points = u.Points.ToString(),
Username = u.DisplayName,
Rank = query.Count(o => o.Points > u.Points) + 1 //Calculates the rank (index)
})
.GroupBy(u => new { Total = query.Count() })
.FirstOrDefaultAsync();
能正常工作,除非我有2個或多個值具有相同點複製它的位置。無論關係如何,我都需要它不斷增加。這是目前如何顯示結果:
排名|用戶| Points
- 1 |用戶1 | 456
- 2 |用戶2 | 420
- 3 |用戶3 | 402
- 4 |用戶4 | 380
- 4 |用戶5 | 380
任何想法如何讓它自動增加正確?
如果我希望重複只是按顯示名稱排序,那麼怎麼辦?任何想法讓查詢來做到這一點? –