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 都已经不是一个新事物了 ...
随机推荐
- Php面向对象 – 继承和重写
Php面向对象 – 继承和重写 承受: php于,通过类.使用特殊的经营宗旨. 通过定义类,采用extends来表示当前的类对象继承该类的对象. 样例: class C { public $p_c ...
- eclipse 构造 C++ 11 -- ubuntu 12.04
设备g++ 4.8 sudo apt-get install python-software-properties sudo add-apt-repository ppa:ubuntu-toolcha ...
- Babelfish (STL)
题目描述 You have just moved from Waterloo to a big city. The people here speak an incomprehensible dial ...
- SQL Prompt5 破解版+使用说明 [转]
SQL脚本越写越多,总是觉得编写效率太过于低下,这和打字速度无关.在我个人编写SQL脚本时,至少会把SQL的格式排列成易于阅读的,因为其他人会阅读到你的SQL,无论是在程序中或是脚本文件中,良好的排版 ...
- js之with
网上找资料的时候看到有js代码里出现了大量的with语句,有点好奇,这里做下总结: 1)简要说明 with 语句可以方便地用来引用某个特定对象中已有的属性,但是不能用来给对象添加属性. ...
- Huffman树与最优二叉树续
OK,昨天我们对huffman数的基本知识,以及huffman树的创建做了一些简介,http://www.cnblogs.com/Frank-C/p/5017430.html 今天接着聊: huffm ...
- Mac+PhpStorm+XAMPP+Xdebug
Mac+PhpStorm+XAMPP+Xdebug 环境的配置 在上一篇 PHP 系列的文章<PHP 集成开发环境比较>中,我根据自己的亲身体验,非常简略的介绍和对比了几款常用的集成开 ...
- php_linux_ubuntu_安装mysql_apache_php
用apt-get方法安装mysql5 + Apache2 + PHP5+Phpmyadmin [建议] http://www.sudu.cn/info/html/edu/20080102/283439 ...
- 队列--Redis+Log4Net
队列--Redis+Log4Net Redis简介 Redis是一个开源的,使用C语言编写,面向“键/值”对类型数据的分布式NoSQL数据库系统,特点是高性能,持久存储,适应高并发的应用场景.Redi ...
- nginx跳转
语法规则: location [=|~|~*|^~] /uri/ { - } = 开头表示精确匹配 ^~ 开头表示uri以某个常规字符串开头,理解为匹配 url路径就可以.nginx不正确url做 ...