C# LINQ查询选择访问量最大的类别
我用SQL编写查询,按clickCount列选择前12个访问类别C# LINQ查询选择访问量最大的类别,c#,linq,C#,Linq,我用SQL编写查询,按clickCount列选择前12个访问类别 SELECT top(12) c.Name FROM Category c GROUP BY c.Name ORDER BY SUM(ClickCount) DESC 我需要在linq中实现。到目前为止,我写了这篇文章,但结果并不像预期的那样 var query = _categoryRepository.Queryable() .GroupBy(r => r.Name)
SELECT top(12) c.Name
FROM Category c
GROUP BY c.Name
ORDER BY SUM(ClickCount) DESC
我需要在linq中实现。到目前为止,我写了这篇文章,但结果并不像预期的那样
var query = _categoryRepository.Queryable()
.GroupBy(r => r.Name)
.SelectMany(g => g.OrderBy(r => r.ClickCount))
.Take(12).ToList();
试试这个:
var query = (from item in _categoryRepository.Queryable()
group item by item.Name into sub
orderby sub.Sum(x => x.ClickCount) descending
select sub).Take(12).ToList();
它返回字符串列表I需要返回类别实体是的,您的查询还返回字符串列表:选择top(12)c.Name