linq语法 实现group by 分组(一)

linq语法 实现group by 分组(一)
作者:秋名
撰写时间:2020 年 6 月 07 日
需求:
1,点击楼层显示不同楼层的宿舍
2,查询所有宿舍,该宿舍有几个床位,几个人入住。

   public JsonResult Select_ChuangWei()
        {
            //System.DateTime currentTime = new System.DateTime();
var listTitle = (from tbHB宿管宿舍床位 in myModel.HB宿管宿舍床位
       join tbHB宿管宿舍 in myModel.HB宿管楼栋宿舍 on tbHB宿管宿舍床位.宿舍ID equals tbHB宿管宿舍.宿舍ID
       join tbHB宿管床位类型与价格 in myModel.HB宿管床位类型与价格 on tbHB宿管宿舍.房型床位类别ID equals tbHB宿管床位类型与价格.房型床位类别ID
       join tbG机构学生 in myModel.G机构学生 on tbHB宿管宿舍床位.分配机构学生ID equals tbG机构学生.机构学生ID
			   select new SuShe
			   {
			   床位ID=tbHB宿管宿舍床位.床位ID,
			   宿舍ID= tbHB宿管宿舍床位.宿舍ID,
			   房型床位类别ID=tbHB宿管宿舍.房型床位类别ID,
			   机构学生ID=tbG机构学生.机构学生ID,
			   姓名=tbG机构学生.姓名,
			   房型床位类别MC =tbHB宿管床位类型与价格.房型床位类别MC,
			   宿舍编码 = tbHB宿管宿舍.宿舍编码.Trim(),
			   床位编码=tbHB宿管宿舍床位.床位编码,
			   本床位本次起住时间 =tbHB宿管宿舍床位.本床位本次起住时间,
			   }).ToList();
	 var listBrand = (from tb in listTitle
		 group tb by tb.宿舍编码 into GrBrand
		 select new SuShe
	{
         床位ID = GrBrand.OrderByDescending(m => m.床位ID).FirstOrDefault().床位ID,
         机构学生ID = GrBrand.OrderByDescending(m => m.分配机构学生ID).FirstOrDefault().机构学生ID,
         宿舍编码 = GrBrand.OrderByDescending(m => m.宿舍ID).FirstOrDefault().宿舍编码.Trim(),
         房型床位类别MC = GrBrand.OrderByDescending(m => m.房型床位类别ID).FirstOrDefault().房型床位类别MC,
         姓名 = GrBrand.Count(m => true).ToString()
     }).ToList();
            return Json(listBrand, JsonRequestBehavior.AllowGet);
        }
    }

//通过上面listTitle的查询方法,将数据查询出来后,进行下面的分组。
//group tb by tb.宿舍编码 into GrBrand声明你要分组的是哪张表,什么类型!然后创建一个变量去接收数据。 
//tb=表 、tb.宿舍编码=分组字段、GrBrand=新的变量、
//姓名 = GrBrand.Count(m => true).ToString():按照名字,计算条数。

SQLserver语句:

SELECT  Count(G机构学生.姓名), HB宿管楼栋宿舍.宿舍编码, HB宿管床位类型与价格.房型床位类别MC, 
                   HB宿管床位类型与价格.月租价格, HB宿管床位类型与价格.日租单价, HB宿管楼栋.宿舍楼栋MC, 
                   HB宿管楼栋宿舍.宿舍楼层ID
FROM      HB宿管宿舍床位 INNER JOIN
                   HB宿管楼栋宿舍 ON HB宿管宿舍床位.宿舍ID = HB宿管楼栋宿舍.宿舍ID INNER JOIN
                   HB宿管楼栋 ON HB宿管楼栋宿舍.宿舍楼栋ID = HB宿管楼栋.宿舍楼栋ID INNER JOIN
                   HB宿管床位类型与价格 ON HB宿管楼栋宿舍.房型床位类别ID = HB宿管床位类型与价格.房型床位类别ID INNER JOIN
                   G机构学生 ON HB宿管宿舍床位.分配机构学生ID = G机构学生.机构学生ID
where HB宿管楼栋宿舍.宿舍楼层ID=4
group by HB宿管楼栋宿舍.宿舍编码, HB宿管床位类型与价格.房型床位类别MC, 
                   HB宿管床位类型与价格.月租价格, HB宿管床位类型与价格.日租单价, HB宿管楼栋.宿舍楼栋MC, 
                   HB宿管楼栋宿舍.宿舍楼层ID


没分组:

分组后:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值