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


没分组:

分组后:

猜你喜欢

转载自blog.csdn.net/Q_MingTao/article/details/106601641