我们需要写Linq查询语句,使用let来创建一个新的变量

Let 关键字

“let”关键字在查询语法中很有用。它会投影一个新的范围变量,允许重新使用表达式并使查询更具可读性。

例如: 这里需要写,两遍   let可以看成在查询语法里面申明一个变量。

方法:

/// <summary>
/// 监控数据
/// </summary>
/// <returns></returns>
[HttpGet]
public async Task<IHttpActionResult> JkDataAsync()
{
try
{
int day = DateTime.Now.Day;
IList<RbBgdata> result = await dbOracle.RbBgdatas.AsQueryable().Where(x => x.Createtime.Value.Day == day).ToListAsync();
var ii = (from x in result
let Partakenum = result.Sum(ee => ee.Partakenum)
let Unpartakenum = result.Sum(ee => ee.Unpartakenum)
let Qualifiednum = result.Sum(ee => ee.Qualifiednum)
let Unqualifiednum = result.Sum(ee => ee.Unqualifiednum)
select new
{
PartakenSum = Partakenum, //参与用户
UnpartakeSum = Unpartakenum, //总用户
QualifiedSum = Qualifiednum, //合格数
UnqualifiedSum = Unqualifiednum //不合格数
}
).FirstOrDefault(); object obj = new
{
PartakeNum = ii.PartakenSum,
UnPartakeNum = ii.UnpartakeSum - ii.PartakenSum,
TotalPartakNum = ii.UnpartakeSum,
Cyl = (ii.UnpartakeSum == ? : Math.Round((ii.PartakenSum.Value * 1.0 / ii.UnpartakeSum.Value) * , )) + "%",
QualifiedNum = ii.QualifiedSum,//合格数
UnQualifiedNum = ii.UnqualifiedSum,
Zql = ((ii.QualifiedSum + ii.UnqualifiedSum) == ? : Math.Round((ii.QualifiedSum.Value * 1.0 / (ii.QualifiedSum.Value + ii.UnqualifiedSum.Value)) * , )) + "%"
};
return await Task.FromResult(Ok(new { errcode = , data = obj }));
}
catch (Exception ex)
{
return await Task.FromResult(Ok(new { errcode = , errmsg = ex.Message }));
}
}

Linq不分组求多列的和的更多相关文章

  1. pandas对时间列分组求diff遇到的问题

    例子: df = pd.DataFrame() df['A'] = [1, 1, 2] df['B'] = [datetime.date(2018, 1, 2), datetime.date(2018 ...

  2. Hive - - 分组求最大,最小(加行键)

    Hive - - 分组求最大,最小(加行键) 数据: 1325927 陕西 汉中 084 08491325928 陕西 汉中 084 08491325930 陕西 延安 084 08421325931 ...

  3. 工作总结 EF GroupBy() Select() Select() 中 Count() 分组 求总

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  4. sum_series() 求一列数的指定个数的数和(5个数字的和)

    #include <stdio.h> #include <stdarg.h> /*用sum_series() 求一列数的指定个数的数和(5个数字的和)*/ double sum ...

  5. POJ-1180 Batch Scheduling (分组求最优值+斜率优化)

    题目大意:有n个任务,已知做每件任务所需的时间,并且每件任务都对应一个系数fi.现在,要将这n个任务分成若干个连续的组,每分成一个组的代价是完成这组任务所需的总时间加上一个常数S后再乘以这个区间的系数 ...

  6. 【hive】分组求排名

    分组求排名 相信好多使用Mysql的用户一定对分组求排名的需求感到发怵. 但是在hive或者oracle来说就能简单实现. 采用窗口函数:rank() over() / row_number() ov ...

  7. 第3节 mapreduce高级:8、9、自定义分区实现分组求取top1

    自定义GroupingComparator求取topN GroupingComparator是mapreduce当中reduce端的一个功能组件,主要的作用是决定哪些数据作为一组,调用一次reduce ...

  8. 第2节 网站点击流项目(下):3、流量统计分析,分组求topN

    四. 模块开发----统计分析 select * from ods_weblog_detail limit 2;+--------------------------+---------------- ...

  9. Java lambda 分组后多列求和

    主要思路是reducing,可以像sql一样分组后多列求和处理成新对象等: select code,max(name)as name,sum(chengJi)as chengJi,sum(age)as ...

随机推荐

  1. python 需求文件requirements.txt的创建及使用

    在虚拟环境中使用pip生成: (venv) $ pip freeze >requirements.txt 当需要创建这个虚拟环境的完全副本,可以创建一个新的虚拟环境,并在其上运行以下命令: (v ...

  2. Unknown entity XXX

    在jdbc中使用session保存实体的时候,保存出错,Unknown entity XXX 一种解决方案为 http://ningnian169.blog.51cto.com/2417825/450 ...

  3. ccf-201709-2 公共钥匙盒

    问题描述 有一个学校的老师共用N个教室,按照规定,所有的钥匙都必须放在公共钥匙盒里,老师不能带钥匙回家.每次老师上课前,都从公共钥匙盒里找到自己上课的教室的钥匙去开门,上完课后,再将钥匙放回到钥匙盒中 ...

  4. Codeforces Round #394 (Div. 2)

    前一半是刚刚打完比赛的时候写的……不知为啥手腕有点僵,估计是前一个小时用力过度了吧= = 前四题看着还好,后两题就有点懵逼了……现在还不知道E题的题意到底是啥…… 不管了……还没找着官方题解,贴一下自 ...

  5. JavaScript 二维数组排列组合

    <html> <head> <title>二维数组排列组合</title> </head> <body> <div id= ...

  6. 【Android】10.0 UI开发——如何编写程序界面、常见控件的使用

    ************************ 转载请注明出处:https://www.cnblogs.com/xiaofu007/p/10331880.html ***************** ...

  7. UX2内核浏览加速技术纲要[带你解决WebView卡顿]

    UX2内核是本人负责主要开发的浏览服务项目,其主要目的是为开发者提供一个简单好用.轻便的网络浏览服务.UX2内核的安卓端是基于WebView进行深度优化的,同时欢迎大家使用这个内核用于app页面或浏览 ...

  8. 中国gis100强

    广州南方测绘仪器有限公司 北京四维图新科技股份有限公司 北京北斗星通导航技术股份有限公司 高德软件有限公司 北京合众思壮科技股份有限公司 中国地图出版社 广州中海达卫星导航技术股份有限公司 正元地理信 ...

  9. mysql游标的用法及作用

    1当前有三张表A.B.C其中A和B是一对多关系,B和C是一对多关系,现在需要将B中A表的主键存到C中:常规思路就是将B中查询出来然后通过一个update语句来更新C表就可以了,但是B表中有2000多条 ...

  10. 二进制中 1 的个数(C++ 和 Python 实现)

    (说明:本博客中的题目.题目详细说明及参考代码均摘自 “何海涛<剑指Offer:名企面试官精讲典型编程题>2012年”) 题目 请实现一个函数,输入一个整数,输出该数二进制表示中 1 的个 ...