首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Linq group by和order by sum

Linq group by和order by sum
EN

Stack Overflow用户
提问于 2017-01-29 03:20:32
回答 1查看 1.5K关注 0票数 0

我只是想用Linq来做这个SQL。但是怎么做呢?

代码语言:javascript
复制
Select Id, sum(Count) 
from dbo.BThread 
group by Id 
order by sum(Count) desc

我试过了,但失败了:结果只给出了一行。我预计会有比这更多的行。我需要对许多is进行求和计算。

代码语言:javascript
复制
var List = (from tbBThread in context.BThread.Take(10)
                group tbBThread by tbBThread.Id into bTmp
                orderby bTmp.Sum(x => x.Count)
                select new BViewModel
                {
                    Id = bTmp.Key,
                    Id = bTmp.First().Id,
                    Count = bTmp.Sum(x => x.Count)
                }).ToList();
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-01-29 04:07:43

Take(10)应该位于查询的末尾。

代码语言:javascript
复制
var List = (from tbBThread in context.BThread
            group tbBThread by tbBThread.Id into bTmp
            orderby bTmp.Sum(x => x.Count)
            select new BViewModel
            {
                Id = bTmp.Key,
                Count = bTmp.Sum(x => x.Count)
            }).Take(10).ToList();

否则,您只需查看context.BThread的前10个元素,这些元素似乎具有相同的Id,因此属于同一组。

并且(正如Slai在评论中所说的)删除第二个Id = bTmp.First().Id,

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41913846

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档