其实这两个笔记并没多大关系,放在一起只是为了凑字数。
先来说说这个分组查询分组查询的目的是为了将数据表中具有相同特征的数据查询出来放在一起,这个方法的思路与一般的Linq查询没太大差别只是多了一个“group by”语句,group在英语中的词义为组;团体;群的;团体的,而by的词义为通过;依据;在……之前,只是将数据查询后总得有个存放的地方,所以在这个语句中又有一个into,将查询出来的数据存入变量,具体怎么用见代码;
//语句描述:Linq使用group by分组按UserID用户ID查询出用户最高的成绩信息
//groupby分组语法:group tbAchievement by tbAchievement.UserID into tbStudent
//表示对tbAchievement按UserID字段进行分组,其结果命名为tbStudent
//一旦重新命名,tbAchievement的作用域就结束了,所以,最后select时,只能select tbStudent
var listAchievement = from tbAchievement inmyModels.PW_Achievement
group tbAchievement by tbAchievement.UserID into tbStudent
selectnew
{
UserID =tbStudent.Key,//key属性:返回进行分组的关键字段的值
AchievementID =tbStudent.OrderByDescending(m =>m.Ac