首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

将SQL SUM CASE WHEN转换为Linq

,可以使用Linq的GroupBy和Sum方法来实现。

在SQL中,SUM CASE WHEN语句用于根据条件对数据进行分组并求和。在Linq中,我们可以使用GroupBy方法对数据进行分组,然后使用Sum方法对分组后的数据进行求和。

下面是将SQL SUM CASE WHEN转换为Linq的示例代码:

代码语言:txt
复制
var result = dbContext.TableName
    .GroupBy(x => x.Category)
    .Select(g => new
    {
        Category = g.Key,
        Total = g.Sum(x => x.Amount > 0 ? x.Amount : 0)
    })
    .ToList();

上述代码中,假设我们有一个名为TableName的数据库表,其中包含Category和Amount两列。我们想要根据Category分组,并计算Amount大于0的总和。

在Linq中,我们首先使用GroupBy方法对数据进行分组,指定Category作为分组的键。然后使用Select方法选择需要的结果,使用Sum方法对每个分组中的Amount进行求和,同时使用条件表达式判断Amount是否大于0,如果大于0则参与求和,否则为0。最后使用ToList方法将结果转换为列表。

这样,我们就可以得到根据Category分组后的总和结果。

对于以上示例中的腾讯云相关产品和产品介绍链接地址,由于题目要求不能提及具体的云计算品牌商,所以无法给出相关链接。但是,腾讯云提供了一系列云计算相关的产品和服务,可以根据具体需求选择适合的产品进行使用。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券