Linq不分组求多列的和
我们需要写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不分组求多列的和的更多相关文章
- pandas对时间列分组求diff遇到的问题
例子: df = pd.DataFrame() df['A'] = [1, 1, 2] df['B'] = [datetime.date(2018, 1, 2), datetime.date(2018 ...
- Hive - - 分组求最大,最小(加行键)
Hive - - 分组求最大,最小(加行键) 数据: 1325927 陕西 汉中 084 08491325928 陕西 汉中 084 08491325930 陕西 延安 084 08421325931 ...
- 工作总结 EF GroupBy() Select() Select() 中 Count() 分组 求总
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- sum_series() 求一列数的指定个数的数和(5个数字的和)
#include <stdio.h> #include <stdarg.h> /*用sum_series() 求一列数的指定个数的数和(5个数字的和)*/ double sum ...
- POJ-1180 Batch Scheduling (分组求最优值+斜率优化)
题目大意:有n个任务,已知做每件任务所需的时间,并且每件任务都对应一个系数fi.现在,要将这n个任务分成若干个连续的组,每分成一个组的代价是完成这组任务所需的总时间加上一个常数S后再乘以这个区间的系数 ...
- 【hive】分组求排名
分组求排名 相信好多使用Mysql的用户一定对分组求排名的需求感到发怵. 但是在hive或者oracle来说就能简单实现. 采用窗口函数:rank() over() / row_number() ov ...
- 第3节 mapreduce高级:8、9、自定义分区实现分组求取top1
自定义GroupingComparator求取topN GroupingComparator是mapreduce当中reduce端的一个功能组件,主要的作用是决定哪些数据作为一组,调用一次reduce ...
- 第2节 网站点击流项目(下):3、流量统计分析,分组求topN
四. 模块开发----统计分析 select * from ods_weblog_detail limit 2;+--------------------------+---------------- ...
- Java lambda 分组后多列求和
主要思路是reducing,可以像sql一样分组后多列求和处理成新对象等: select code,max(name)as name,sum(chengJi)as chengJi,sum(age)as ...
随机推荐
- python 需求文件requirements.txt的创建及使用
在虚拟环境中使用pip生成: (venv) $ pip freeze >requirements.txt 当需要创建这个虚拟环境的完全副本,可以创建一个新的虚拟环境,并在其上运行以下命令: (v ...
- Unknown entity XXX
在jdbc中使用session保存实体的时候,保存出错,Unknown entity XXX 一种解决方案为 http://ningnian169.blog.51cto.com/2417825/450 ...
- ccf-201709-2 公共钥匙盒
问题描述 有一个学校的老师共用N个教室,按照规定,所有的钥匙都必须放在公共钥匙盒里,老师不能带钥匙回家.每次老师上课前,都从公共钥匙盒里找到自己上课的教室的钥匙去开门,上完课后,再将钥匙放回到钥匙盒中 ...
- Codeforces Round #394 (Div. 2)
前一半是刚刚打完比赛的时候写的……不知为啥手腕有点僵,估计是前一个小时用力过度了吧= = 前四题看着还好,后两题就有点懵逼了……现在还不知道E题的题意到底是啥…… 不管了……还没找着官方题解,贴一下自 ...
- JavaScript 二维数组排列组合
<html> <head> <title>二维数组排列组合</title> </head> <body> <div id= ...
- 【Android】10.0 UI开发——如何编写程序界面、常见控件的使用
************************ 转载请注明出处:https://www.cnblogs.com/xiaofu007/p/10331880.html ***************** ...
- UX2内核浏览加速技术纲要[带你解决WebView卡顿]
UX2内核是本人负责主要开发的浏览服务项目,其主要目的是为开发者提供一个简单好用.轻便的网络浏览服务.UX2内核的安卓端是基于WebView进行深度优化的,同时欢迎大家使用这个内核用于app页面或浏览 ...
- 中国gis100强
广州南方测绘仪器有限公司 北京四维图新科技股份有限公司 北京北斗星通导航技术股份有限公司 高德软件有限公司 北京合众思壮科技股份有限公司 中国地图出版社 广州中海达卫星导航技术股份有限公司 正元地理信 ...
- mysql游标的用法及作用
1当前有三张表A.B.C其中A和B是一对多关系,B和C是一对多关系,现在需要将B中A表的主键存到C中:常规思路就是将B中查询出来然后通过一个update语句来更新C表就可以了,但是B表中有2000多条 ...
- 二进制中 1 的个数(C++ 和 Python 实现)
(说明:本博客中的题目.题目详细说明及参考代码均摘自 “何海涛<剑指Offer:名企面试官精讲典型编程题>2012年”) 题目 请实现一个函数,输入一个整数,输出该数二进制表示中 1 的个 ...