Jak zamówić wynik grupy w Linq?

Mam następujące zapytanie linq, które działa dobrze. Nie jestem pewien, jak zamówić wynik grupy.

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) }

Wyniki są obecnie uporządkowane przez userid rosnąco. / Align = "left" /

Dzięki:)

Author: Pure.Krome, 2009-04-16

2 answers

Wystarczy dodać klauzulę 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 };
 64
Author: Arjan Einbu,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-18 09:45:53
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);

Mam nadzieję, że to rozwiąże twój problem, łatwiej niż ten górny;)

Cheers

 13
Author: Prashant C,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-04-16 08:02:31