linq 多表分组查询统计
var q1 = from orderitem in q2
join pd in _iProductDetailContract.Entities on orderitem.ProductDetailId equals pd.Id
join pm in ProductMainContract.Entities on pd.ProductMainId equals pm.Id
join user in UserContract.Entities on pm.BuyerId equals user.Id
into orderItemBuyer
from user in orderItemBuyer.DefaultIfEmpty()
group new { orderitem.Price, orderitem.Num }
by new { orderitem.ProductDetailId, orderitem.Name, orderitem.Size, orderitem.Price, pm.AliasName, BuyerName = user.Name }
into g
orderby g.Sum(p => p.Num) descending
select new
{
ProductDetailId = g.Key.ProductDetailId,
Name = g.Key.Name,
Size = g.Key.Size,
AliasName = g.Key.AliasName,
BuyerName = g.Key.BuyerName,
Num = g.Sum(p => p.Num),
Price = g.Key.Price,
TotlePrice = g.Sum(p => p.Num * p.Price)
}
;
linq 多表分组查询统计的更多相关文章
- rails小技巧之分组查询统计并去重
分组查询并统计 SpecialGroup.group(:special_type).count select special_type,count(*) from special_groups gro ...
- 借助case,实现更丰富的分组查询统计
根据fileD6的前4位分组 分别统计该组 5种企业类型fileD31的数量 create or replace view jyjc_bycity as select substr(fileD ...
- Linq分组查询统计
这里介绍Linq使用Group By和Count得到每个CategoryID中产品的数量,Linq使用Group By和Count得到每个CategoryID中断货产品的数量等方面. 学经常会遇到Li ...
- Linq 多表连接查询join
在查询语言中,通常需要使用联接操作.在 LINQ 中,可以通过 join 子句实现联接操作.join 子句可以将来自不同源序列,并且在对象模型中没有直接关系(数据库表之间没有关系)的元素相关联,唯一的 ...
- MySQL分组查询统计
GROUP BY 1.有个店铺表,字段为区域id,设备数量,店铺名称,如下: 2.如何按区域 district 统计 每个区域的设备数量,SQL如下 SELECT district, SUM( dev ...
- linq to EF分组查询 group by 的使用
第一种:查询表达式语法: IQueryable<EnrollmentDateGroup> data = from student in db.Students group student ...
- oracle-按年、月、周、日、时、分 分组查询统计数据,无数据补零(connect by)
目的:统计一段时间内每年.每月.每周.每日.每时.每分数据,无数据时自动补零 思路:1. 生成给定时间段对应日期 2. 将原表中该时间段内的不为0的数据量统计出来 3. 用left join连接起来, ...
- linq 中的分组查询
直接看代码: //一个字段分组 var data1 = from a in query group a by a.Name into b select new { Total = b.Sum(c=&g ...
- Linq多表联合查询,在View中绑定数据
Ⅰ→通过ViewData传递数据,不过需要新建一个类(用来存) NewClass(里面有表1的字段和表2的字段) public class JoinTab1_2 { public int ID { g ...
随机推荐
- 概率DP light oj 1038
t个数据 然后一个n 输出变成1的期望 看个数据 dp[n]代表n变成1的期望 cnt代表因子个数 pi代表因子 那么dp[n]=1/cnt*(dp[n/p1]+1)+1/cnt*(dp[n/p2]+ ...
- mysql查询时间戳和日期的转换
mysql提供了两个函数: from_unixtime(time_stamp) -> 将时间戳转换为日期 unix_timestamp(date) -> 将指定的日期或者日期字符串转换为时 ...
- R 绘图 填充颜色
d <- density(mtcars$mpg) plot(d, main="Kernel Density of Miles Per Gallon") polygon(d, ...
- perl sub return 的作用
test_1.pl #/usr/bin/perl -w use strict; print add(1,2),"\n"; sub add { my ($x,$y) = @_; re ...
- Eclipse配置PyDev插件来实现python开发环境
1.安装python解释器(完成的略过) 2.安装PyDev: 首先需要去Eclipse官网下载:http://www.eclipse.org/,Eclipse需要JDK支持,如果Eclipse无法正 ...
- Leetcode House Robber II
本题和House Robber差不多,分成两种情况来解决.第一家是不是偷了,如果偷了,那么最后一家肯定不能偷. class Solution(object): def rob(self, nums): ...
- Linux中/etc/hosts文件总是被自动修改
关闭NetworkManager服务即可. 临时关闭: service NetworkManager stop 永久关闭: chkconfig NetworkManager off 在centos6 ...
- VS2008 查找 替换对话框无法打开的解决方法
1.今天碰到了这个窗口打不开的问题.醉了 解决方案: 窗口->重置窗口布局.
- 利用PHPMailer发送邮件时报错
利用thinkphp集成PHPMailer发送邮件时报错:Failed to connect to server: Unable to find the socket transport “ssl” ...
- hdu 4609 FFT
题意:给出一堆数,问从这些数中取3个能组成三角形的概率? sol:其实就是问从这些数里取3个组成三角形有多少种取法 脑洞大开的解法:用FFT 设一开始的数是1 3 3 4 作一个向量x,其中x[i]= ...