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 都已经不是一个新事物了 ...
随机推荐
- 无法打开物理文件mdf,操作系统错误 5:"5(拒绝訪问。)"
无法打开物理文件mdf,操作系统错误 5:"5(拒绝訪问.)" 环境: SQL Server 2008 R2 问题: 附加数据库时报错"无法打开物理文件mdf.操作系统错 ...
- scala 101
* scala 安装: 下载可以执行的文件. 注意版本. spark 0.8.0 对应的scala 为2.9.3 * scala 编译: 和java 很像: 1, 直接编译脚本: scalac H ...
- JQuery之初探
软考过后又进入了紧张的B/S学习阶段,因为自己的进度比較慢,所以更要加进学习.如今就来总结下JQuery的一些基础知识: JQuery定义 jQuery是一套跨浏览器的JavaScript库,简化HT ...
- 运用TWaver 3D 矢量图形处理能力
的确,提起TWaver,大家想到的首先是"电信拓扑图组件".事实上.因为其灵活的MVC架构.矢量化设计.方便定制等特点.TWaver能够做的还有非常多.比如房地产行业常见到的&qu ...
- Tomcat剖析(三):连接器(1)
Tomcat剖析(三):连接器(1) 1. Tomcat剖析(一):一个简单的Web服务器 2. Tomcat剖析(二):一个简单的Servlet服务器 3. Tomcat剖析(三):连接器(1) 4 ...
- Redis源代码分析(二十七)--- rio制I/O包裹
I/O每个操作系统,它的一个组成部分.和I/O业务质量,在一定程度上也影响了系统的效率. 今天,我在了解了Redis中间I/O的,相同的,Redis在他自己的系统中.也封装了一个I/O层.简称RIO. ...
- ENode 2.0
ENode 2.0 - 介绍一下关于ENode中对Command的调度设计 摘要: CQRS架构,C端的职责是处理从上层发送过来的command.对于单台机器来说,我们如何尽快的处理command呢? ...
- applet授权数字签名
一.压缩你的class类文件为jar包 1.如果你的须要压缩的类文件存在的包为:cn.mbq.test1和cn.mbq.test2 2.进入你的classes文件夹,在DOS窗体中运行命令:jar c ...
- c# md5
还可以加盐,更难以破解 public static string GetMD5(string sDataIn) { MD5Crypt ...
- DB2数据类型
DB2数据库的内置数据类型主要分成数值型(numeric).字符串型(character string).图形字符串(graphic string).二进制字符串型(binary string)或日期 ...