如何选择最高计数,总和

时间:2017-02-28 14:56:40

标签: linq

如何在 linq 中写这个?

//The store with the most occurrence 
SELECT TOP 1 [StoreName], COUNT(*)
FROM [Xpenses]
GROUP BY [StoreName]
ORDER BY COUNT(*) DESC

//The store where the user spent the most overall 
SELECT TOP 1 [StoreName], SUM([Price])
FROM [Xpenses]
GROUP BY [StoreName]
ORDER BY COUNT(*) DESC

感谢您的帮助

1 个答案:

答案 0 :(得分:3)

你可以这样做:

//First create part of your query you can reuse 
var query=Xpenses.GroupBy(x=>x.StoreName);

var MostOccurrence=query.Select(g=>new {Store=g.Key,Count= g.Count()})
                        .OrderByDescending(r=r.Count).FirstOrDefault();

var MostOverall=query.Select(g=>new {Store=g.Key,Sum= g.Sum(f=>f.Price)})
                     .OrderByDescending(r=r.Sum).FirstOrDefault();