0
我有如下記錄:獲得最高分的排名與最早時間戳
name score Date
Billy 32470 12/18/2010 7:26:35 PM
Sally 1100 12/19/2010 12:00:00 AM
Kitty 1111 12/21/2010 12:00:00 AM
Sally 330 12/21/2010 8:23:34 PM
Daisy 32460 12/22/2010 3:10:09 PM
Sally 32460 12/23/2010 4:51:11 PM
Kitty 32440 12/24/2010 12:00:27 PM
Billy 32460 12/24/2010 12:11:36 PM
我想使用LINQ最早時間標記的最高得分的排行榜。 在這種情況下,正確的是
rank name
1 Billy
2 Daisy
3 Sally
我用下面的查詢:
var result =
(from s in Submissions
group s by s.name into g
orderby g.Max(q => q.Score) descending,g.Min(q => q.Date) ascending
select new ScoreRecord
{
name = g.Key
Score = g.Max(q => q.Score)
}).Take(3).ToList();
我收到以下錯誤的結果:
rank name
1 Billy
2 Sally
3 Daisy
什麼是正確的LINQ查詢在此案件?
整理一下,你可以使用'let'語句把最大比分變成了變量和重用。 – 2010-12-24 05:53:41