zoukankan      html  css  js  c++  java
  • Linq使用Group By 1

    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. };
  • 相关阅读:
    POJ Area of Simple Polygons 扫描线
    POJ2828 Buy Tickets 线段树
    cf578c Weakness and Poorness 三分
    poj3737 UmBasketella 真正的三分
    POJ1061 青蛙的约会 exgcd
    POJ3090 Visible Lattice Points 欧拉函数
    P2860 [USACO06JAN]冗余路径Redundant Paths
    [JSOI2008]球形空间产生器
    [APIO2010]特别行动队
    [ZJOI2007]仓库建设
  • 原文地址:https://www.cnblogs.com/shiningrise/p/5565422.html
Copyright © 2011-2022 走看看