Linq无聊练习系列5--OrderBy ,Groupby练习
/**************OrderBy ,Groupby练习*******************/
//按学生的总分数按降序排列排序
var list = from s in ctx.T_Student
join c in ctx.T_Score
on s.stuNumber
equals c.stuNumber
into temp
from t in temp
orderby temp.Sum(k => k.score) descending
select new {
stuName = s.stuName,
scoreSum = temp.Sum(k=>k.score)
};
//对学生的年龄和姓名进行排序
var list1 = from s in ctx.T_Student
orderby s.stuSex,s.stuName descending
select s;
//对于上边的可以用lambda进行简化
var list2 = ctx.T_Student.OrderBy(s => s.stuAge).ThenBy(k=>k.stuName);
//也可以用连续的orderBy进行排序,不过级联方式是逆序,上边的list2可以这样表示
var list3 = ctx.T_Student.OrderBy(s => s.stuName).OrderBy(k=>k.stuAge);
//对orderby排序要注意的地方是只能对基本数据类型进行排序,不能对类型,以及匿名类进行排序,否则的话会抛异常
//每门课程分数最高的分数,并按课程号进行排序
var list4 = from s in ctx.T_Score
group s by s.courceNumber
into g
orderby g.Key
select new
{
courceNumber = g.Key,
coreForCourse = from f in g
where f.score == g.Max(n => n.score)
select f
};
//下面着重对groupby进行案列练习,对分数按课程号进行分组
var list5 = from s in ctx.T_Score
group s by s.courceNumber
into temp1
select temp1;
//每门课程的最高分数
var list6 = from s in ctx.T_Score
group s by s.courceNumber
into temp1
select new {
courseNumber = temp1.Key,
maxCourece = temp1.Max(k=>k.score)
};
//分组的条件也可以是自定义的表达式,如下
var list7 = from s in ctx.T_Score
group s by s.score + 10
into g
select g;
//也可以对多列进行分组
var list8 = from s in ctx.T_Score
group s by new
{
s.courceNumber,
s.stuNumber
} into g
select new {
g.Key,
g
};
Linq无聊练习系列5--OrderBy ,Groupby练习的更多相关文章
- Linq无聊练习系列8---开放式并发事务,null和 DateTime,string操作练习
/*********************开放式并发事务,null和 DateTime,string操作练习**********************************/ //所谓并发,就是 ...
- Linq无聊练习系列6--Any/All/Contains/Concat/Union/Intersect/Except/take/skip/SqlMethods操作练习
/*********************Any/All/Contains/Concat/Union/Intersect/Except/take/skip/SqlMethods操作练习******* ...
- Linq无聊练习系列1--where练习
linq主要有3种,linq to sql,linq to XML,Linq to Object linq to sql. 这里没有通过相应的类,生成相应的数据库中的表.没有用流行的编码优先. 只是为 ...
- Linq无聊练习系列7----Insert,delete,update,attach操作练习
/*********************Insert,delete,update,attach操作练习**********************************/ ...
- Linq无聊练习系列4--join练习
/**************join 练习*******************/ //对于1对多关系 var list =from c in ctx.T ...
- Linq无聊练习系列3--聚合函数练习
/**************聚合函数 练习*******************/ //求学生的总数量 var list = ctx.T_Student. ...
- Linq无聊练习系列2--select/distinct练习
void dataBindByWhere() { /**************select/distinct 练习*******************/ //获 ...
- EF C# ToPagedList方法 The method 'Skip' is only supported for sorted input in LINQ to Entities. The method 'OrderBy' must ……
报错信息:The method 'Skip' is only supported for sorted input in LINQ to Entities. The method 'OrderBy' ...
- LINQ to SQL 系列 如何使用LINQ to SQL插入、修改、删除数据
http://www.cnblogs.com/yukaizhao/archive/2010/05/13/linq_to_sql_1.html LINQ和 LINQ to SQL 都已经不是一个新事物了 ...
随机推荐
- [Cocos2d-x]Cocos2d-x 3.2 学习笔记
获取屏幕大小(Visible) Size visibleSize = Director::getInstance()->getVisibleSize(); Vec2 origin = Direc ...
- Swift使用单个案件管理FMDB数据库
下班... 抢 我曾经Swift使用单一个案管理FMDB数据库的方法共享出来: // Created by 秦志伟 on 14-6-12. import UIKit class ZWDBManager ...
- SharePoint 如何使自己的网页自动跳转
SharePoint 如何使自己的网页自动跳转 SharePoint自动制作自己的网页跳的很easy,只有在页面上要添加一个Web部分--内容编辑器,对应的js代码就可以. ...
- 模拟linux下的ls -l命令
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h&g ...
- vimer
vimer 第1.0章.统一概念 不管学什么技术,我都深信概念是最重要的.是影响整个学习轨迹,决定能在这个技术领域高度. 当然如果你现在的目的不是在学习而在于解决问题(很多人不愿意承认,或者没发现 ...
- 我的MYSQL学习心得(六)
原文:我的MYSQL学习心得(六) 我的MYSQL学习心得(六) 我的MYSQL学习心得(一) 我的MYSQL学习心得(二) 我的MYSQL学习心得(三) 我的MYSQL学习心得(四) 我的MYSQL ...
- java_windows下修改eclipse的默认编码
windows下修改eclipse的默认编码 windows下一般系统编码为 GB2312(中文版的windows), 由于我比较喜欢utf8格式的编码,现将修改方式和大家分享 如果要使新建立工程 ...
- .net设计模式之装饰模式
概述: 装饰模式是在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能.它是通过创建一个包装对象,也就是装饰来包裹真实的对象. 装饰模式的特点: (1) 装饰对象和真实对象有相同的接口.这样 ...
- js checkbox多选值采集
var objs = document.getElementsByTagName("input"); for (var i = 0; i < objs.length; i++ ...
- 勾选Create git respository的作用
在Xcode中创建项目时会弹出Source Control选项,勾选Create git repository选项可以帮助我们对照以前项目中代码中修改的部分,为开发提供方便. 在项目完成到一定程度时, ...