1.简单形式:
  1. var q =
  2. from p in db.Products
  3. group p by p.CategoryID into g
  4. select g;

语句描述:Linq使用Group By按CategoryID划分产品。

说明:from p in db.Products 表示从表中将产品对象取出来。group p by p.CategoryID into g表示对p按CategoryID字段归类。其结果命名为g,一旦重新命名,p的作用域就结束了,所以,最后select时,只能select g。

2.最大值

  1. var q =
  2. from p in db.Products
  3. group p by p.CategoryID into g
  4. select new {
  5. g.Key,
  6. MaxPrice = g.Max(p => p.UnitPrice)
  7. };

语句描述:Linq使用Group By和Max查找每个CategoryID的最高单价。

说明:先按CategoryID归类,判断各个分类产品中单价最大的Products。取出CategoryID值,并把UnitPrice值赋给MaxPrice。

3.最小值

  1. var q =
  2. from p in db.Products
  3. group p by p.CategoryID into g
  4. select new {
  5. g.Key,
  6. MinPrice = g.Min(p => p.UnitPrice)
  7. };

语句描述:Linq使用Group By和Min查找每个CategoryID的最低单价。

说明:先按CategoryID归类,判断各个分类产品中单价最小的Products。取出CategoryID值,并把UnitPrice值赋给MinPrice。

4.平均值

  1. var q =
  2. from p in db.Products
  3. group p by p.CategoryID into g
  4. select new {
  5. g.Key,
  6. AveragePrice = g.Average(p => p.UnitPrice)
  7. };

语句描述:Linq使用Group By和Average得到每个CategoryID的平均单价。

说明:先按CategoryID归类,取出CategoryID值和各个分类产品中单价的平均值。

5.求和

  1. var q =
  2. from p in db.Products
  3. group p by p.CategoryID into g
  4. select new {
  5. g.Key,
  6. TotalPrice = g.Sum(p => p.UnitPrice)
  7. };

转载过来的,没什么好说的……

最新文章

  1. 机器学习之分类器性能指标之ROC曲线、AUC值
  2. velocity +mybatis+ springMvc构建邮件服务器知识总结
  3. CXF学习(2) helloworld
  4. JS的循环、复杂运算符
  5. ios app 提交评审注意事项
  6. laravel captcha
  7. Android与OpenCV——重新下载安装和OpenCV匹配的Android开发环境
  8. Fedora20 和ubuntu 14.04 chrome标签中文乱码
  9. SqlServer 事务日志传输
  10. 提交App Store注意事项1
  11. ElasticSearch怎样加入,检索数据
  12. JAVA-1-HelloWorld
  13. Linux下链接数据库图形化工具
  14. RequireJS对文件合并与压缩实现方法
  15. xml的Dom4j解析规则
  16. centos6上yum安装drbd(内核:2.6.32.696)
  17. 【English 】20190319
  18. 在vue中配置flow类型检查
  19. Python3基础 list del 从内存中删除整个列表
  20. php 数组排序 按照某字段

热门文章

  1. Linux中设置服务自启动的三种方式,ln -s 建立启动软连接
  2. Codeforces 1144F Graph Without Long Directed Paths (DFS染色+构造)
  3. cobbler一键批量安装系统
  4. CF719E. Sasha and Array [线段树维护矩阵]
  5. SpringBoot整合使用JdbcTemplate
  6. word文档最上面有一条不是页眉的线
  7. C++中几种输入输出cin、cin.getline()、getline()、sscanf()、sprintf()、gets()等
  8. 在Linux上要安装SSH协议
  9. 【计算机篇】Office 2016 for Mac 安装和破解教程
  10. 【子集或者DFS】部分和问题