linq  语句 怎么使用group by 和 order by ?

解决方案 »

  1.   

    ORDER BY描述:查询所有没有下属雇员的雇用年和名,按照雇用年倒序,按照名正序查询句法:  var 排序 = from emp in ctx.Employees                 where emp.Employees.Count == 0                 orderby emp.HireDate.Value.Year descending, emp.FirstName ascending                 select new                 {                     雇用年 = emp.HireDate.Value.Year,                     名 = emp.FirstName                 };     
    GROUP BY描述:根据顾客的国家分组,查询顾客数大于5的国家名和顾客数查询句法:        var 一般分组 = from c in ctx.Customers                   group c by c.Country into g                   where g.Count() > 5                   orderby g.Count() descending                   select new                   {                       国家 = g.Key,                       顾客数 = g.Count()                   };
      

  2.   


    最后的:
      select new  {  国家 = g.Key,  顾客数 = g.Count()  }   是什么意思??
      

  3.   

    var query= from u in users
               group u by u.id into m 
               select new {id=m.Key,count=m.Count()}var query= from u in users
               order by u.id
               select u.id;
      

  4.   


    国家 = g.Key,   g.key就是你要group的那个字段,g.count()就是包含那个字段的个数
    比如说:
    id  name
    1    aaa
    1    bbb
    2    ccc
    3    dddgroup by id的话返回的是   
    1  2
    2  1
    3  1
    其中g.key就是id,分别为1,2,3对应的个数分别为2,1,1