zoukankan      html  css  js  c++  java
  • LINQ 的查询_联表、分组、排序

    1.查询

    var v = from s in db.Set<ScoreInfo>().ToList()
    group s by s.subject into score
    select new
    {
     sub = score.Key,
     avg = score.Average(s => s.score),
     max = score.Max(s => s.score),
     min = score.Min(s => s.score),
     sum = score.Sum(s => s.score)
    };

    2.

    //linq根据姓名分组查询
    var name=from u in db.Set<UserInfo>().ToList()
     join s in db.Set<ScoreInfo>().ToList()
     on u.ID equals s.uid
     group s by u.UserName into score
     select new
     {
     UserName=score.Key,
     avg=score.Average(d=>d.score)

     };

    //lamdba 的方式
    var lamdba_join= db.Set<ScoreInfo>().Join(db.Set<UserInfo>(),
      h => h.uid, f => f.ID, (a, b) =>
    new { a.score, b.UserName }).ToList().GroupBy(g => g.UserName).
    Select(s => new { avg=s.Average(a => a.score),name=s.Key });

    3.根据科目分组查询并排序

    //linq
    var sub = from s in db.Set<ScoreInfo>().ToList()
    group s by s.subject into score
    orderby score.Average(a => a.score) descending
    select new
    {
    sub=score.Key,
    avg=score.Average(a=>a.score)

    };


    //lamdba
    var la= db.Set<ScoreInfo>().ToList().GroupBy(g => g.subject).
    Select(s => new { sub = s.Key, avg = s.Average(a => a.score) }).OrderBy(o=>o.avg);

  • 相关阅读:
    常用正则总结
    JavaScript中with语句的理解
    设置点击文本框或图片弹出日历控件
    设置时间 new Date
    windows 下配置 nginx的问题
    CSS3滚动条-webkit-scrollbar
    /、./、../ 的区别
    js中如何获取纯正的undefined?
    关于渐进增强和优雅降级
    每日一练-第三期
  • 原文地址:https://www.cnblogs.com/wlming/p/5999209.html
Copyright © 2011-2022 走看看