如何在 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
感谢您的帮助
答案 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();