sqlsugar的sum的用法
通过论坛的检索 查到三篇文章是关于sum的
http://www.codeisbug.com/Ask/9/4531
http://www.codeisbug.com/Ask/14/4128
文章1:
2018/10/12
我自己已经找到解决办法了,分享一下
   var query = DB.FullClient.Queryable<ContractOrders, Contracts>((co, cs) => new object[]{
                JoinType.Inner,co.ContractId==cs.Id
            })
            .WhereIF(!string.IsNullOrEmpty(customerId), (co, cs) => cs.CustomerId == customerId)
            .WhereIF(startDate.HasValue, (co, cs) => cs.ActivateDate >= startDate.Value)
            .WhereIF(endDate.HasValue, (co, cs) => cs.ActivateDate <= endDate.Value.AddDays())
            .WhereIF(status.HasValue, co => co.Status == status.Value)
            .Select((co, cs) => new ContractOrdersP<Contracts>
            {
                Code = co.Code,
                Id = co.Id,
                CreateTime = co.CreateTime,
                ContractId = co.ContractId,
                Remark = co.Remark,
                Status = co.Status,
                Contracts = cs,
                TotalPrice = SqlFunc.Subqueryable<ProductConfigs>()
               .Where(r => r.ContractOrderId == co.Id)
                .GroupBy(r => r.ContractOrderId)
                .Select(r => SqlFunc.AggregateSum(r.Quantity * r.DiscountPrice))
            });
用这个函数可以解决, SqlSugar作者 定义了AggregateSum 这种方法, 一般人还真不知道
文章2:
.x .Max(it => it.id); .Sum(it => it.id);
官方文档的查询函数

SqlFunc.Subqueryable子查询的写法
//子查询的版本
var list = db.Queryable<TC020_Purchase>()
.Select(a => new
{
guid = a.TC020_Guid,
compony = a.TC020_Company,
SignDate = a.TC020_SignDate,
ProjectTitle = a.TC020_ProjectTitle,
Signer = a.TC020_Signer,
ContractID = a.TC020_ContractID,
PaymentClaus = a.TC020_PaymentClause,
TotalCount = a.TC020_TotalAmount, paid = SqlFunc.Subqueryable<TC022_PurchasePaymentRecord>()
.Where(b => b.TC020_Guid == a.TC020_Guid)
.Select(b => SqlFunc.AggregateSum(b.TC022_NotPaid.Value)).ToString(), notpaid = SqlFunc.Subqueryable<TC022_PurchasePaymentRecord>()
.Where(b => b.TC020_Guid == a.TC020_Guid)
.Select(b => SqlFunc.AggregateSum(b.TC022_Paid.Value)).ToString() }).ToList();
Group By的写法
//Group by 版本
var group = db.Queryable<TC020_Purchase, TC022_PurchasePaymentRecord>((a, b) => new object[] {
JoinType.Left,a.TC020_Guid==b.TC020_Guid}) .GroupBy(a => new {
a.TC020_Guid,
a.TC020_Company,
a.TC020_SignDate,
a.TC020_ProjectTitle,
a.TC020_Signer,
a.TC020_ContractID,
a.TC020_PaymentClause,
a.TC020_SalesContractID,
a.TC020_TotalAmount
})
.Select((a,b)=> new {
paid=SqlFunc.AggregateSum(b.TC022_NotPaid.Value).ToString(),
notpaid= SqlFunc.AggregateSum(b.TC022_Paid.Value).ToString() }).ToList();
sqlsugar的sum的用法的更多相关文章
- 列表推导式和sum的用法
		
作者:杨航锋链接:https://www.zhihu.com/question/57470958/answer/153405326来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注 ...
 - mysql sum(if())用法
		
原表:id fenlei time1 分类1 201303162 分类2 201303163 分类3 201303174 ...
 - python numpy sum函数用法
		
numpy.sum numpy.sum(a, axis=None, dtype=None, out=None, keepdims=False)[source] Sum of array element ...
 - MySql COUNT(),SUM()组合用法
		
需求:统计工作室表的数量,按创建时间分组 问题:按创建时间分组,如何将计数后的结果求和 解决:用COUNT(DISTINCT col_name)讲每行计数为1,再求和分组 SELECT DATE_FO ...
 - sum() 求和用法
		
def func(*args): # sum = 0 # for el in args: # sum += el # return sum return sum(args) # sum() 求和 de ...
 - mysql 中sum (if()) 用法
		
原表: id fenlei time 1 分类1 20130316 2 分类2 20130316 3 分类3 20130317 ...
 - sum特殊用法
		
在python中,list可以存储False和True a = [False] python的sum除了可以加数字,还可以计算列表中False,True的个数,默认是计算False个数 >> ...
 - 【Oracle】sum(..) over(..)用法分析
		
今天再看sql优化详解的时候,提到了一个sum(..) over(..) 于是自己实验并在网上找了相关的一些文章来看 下面创建一张表: create sequence xulie increment ...
 - 1#Two Sum(qsort用法)
		
void*空类型指针,就好像暂时还没有确定类型,任何类型都可以赋给它.但是具体操作时一定要确定类型(如下,比较时先转Node) cmp返回一定是int,有-1,0,1三种,如果是1则第一个数要放在第二 ...
 
随机推荐
- 获得HttpServletRequest 和HttpSession对象
			
package org.jeecgframework.core.util; import java.util.HashMap; import java.util.Map; import javax.s ...
 - The Grove(poj 3182)
			
题意:一个n*m(n,m<=50)的矩阵有一片连着的树林,Bessie要从起始位置出发绕林子一圈再回来,每次只能向横着.竖着或斜着走一步.问最少需多少步才能完成. /* 如果我们用搜索来写的话, ...
 - Mongodb主、副、仲裁节点集群安装
			
mongodb 的集群方式主要分为三种Replica Set / Sharding / Master-Slaver ,这里只说明最简单的集群搭建方式(生产环境),如果有多个节点可以此类推或者查看官方文 ...
 - 远程连接mongodb时,27017端口连接不上的解决办法
			
一.背景描述: 我在linux RED7上安装了mongodb,并没有修改mongodb的配置文件.然后通过另外一台电脑用pymongo连接mongodb时,报错:timeout. ping IP ...
 - Access数据库密码破解 C#
			
private string GetPassword(string file) { // 未加密的文件0x42开始至0x61之前的每间隔一字节的数值 byte[] baseByte = { 0xbe, ...
 - Intersection--poj1410(判断线段与矩形的关系)
			
http://poj.org/problem?id=1410 题目大意:给你一个线段和矩形的对角两点 如果相交就输出'T' 不想交就是'F' 注意: 1,给的矩形有可能不是左上 右下 所以要先判 ...
 - Codechef-ANCESTOR(树套树/CDQ分治)
			
题意: 给定两棵有根树,各有 N 个点.两棵树上的点分别被从 1 到 N 标号.两棵树的根均为标号为 1 的节点. 你的任务非常简单:对于每个 i,找到一个 j(j != i),使得在两棵树中 j 都 ...
 - CORS:Source.priciple   implimentation in Spring
			
Cors(Cross-origin Resource Sharing)一种跨域访问技术,基本思想是使用自定义的HTTP头部允许浏览器和服务器相互了解对方,从而决定响应成功与否. CORS与JSONP对 ...
 - Java中的数字
			
以下内容引用自http://wiki.jikexueyuan.com/project/java/numbers.html: 通常情况下,当处理数字时,使用原始数据类型,如byte,int,long,d ...
 - django 简易博客开发 4 comments库使用及ajax支持
			
首先还是贴一下源代码地址 https://github.com/goodspeedcheng/sblog 上一篇文章我们介绍了静态文件使用以及如何使用from实现对blog的增删改,这篇将介绍如何给 ...