web-dev-qa-db-ja.com

Linqでグループ結果を注文するにはどうすればよいですか?

次のlinqクエリがありますが、正常に機能します。グループの結果を注文する方法がわかりません。

from a in Audits
join u in Users on a.UserId equals u.UserId
group a by a.UserId into g
select new { UserId = g.Key, Score = g.Sum(x => x.Score) }

現在、結果はUserIdの昇順で並べられています。スコア降順です。

おかげで:)

40
Pure.Krome

Orderby句を追加するだけです;-)

from a in Audits
join u in Users on a.UserId equals u.UserId
group a by a.UserId into g
let score = g.Sum(x => x.Score)
orderby score descending
select new { UserId = g.Key, Score = score };
65
Arjan Einbu
var results =
 (from a in Audits
join u in Users on a.UserId equals u.UserId
group a by a.UserId into g
select new { UserId = g.Key, Score = g.Sum(x => x.Score) })
.OrderByDescending(p=>p.Score);

これがあなたの問題を解決することを願っています、一番上の問題より簡単です;)

乾杯