zoukankan      html  css  js  c++  java
  • linq to datatable group by 多列 实现 .

    1. void Main()  
    2. {  
    3. DataTable dt=new DataTable();  
    4. dt.Columns.Add("flightno");  
    5. dt.Columns.Add("flightTime",typeof(DateTime));  
    6. dt.Columns.Add("arrivalTime",typeof(DateTime));  
    7. dt.Columns.Add("passenger");  
    8. dt.Rows.Add("AU123",Convert.ToDateTime("2010-12-20 12:30"),Convert.ToDateTime("2010-12-20 15:30"),"小Q");  
    9. dt.Rows.Add("AU123",Convert.ToDateTime("2010-12-20 12:30"),Convert.ToDateTime("2010-12-20 15:30"),"小T");  
    10. dt.Rows.Add("AU123",Convert.ToDateTime("2010-10-21 12:00"),Convert.ToDateTime("2010-12-21 14:30"),"小N");  
    11. dt.Rows.Add("AU124",Convert.ToDateTime("2010-10-22 12:00"),Convert.ToDateTime("2010-12-22 11:30"),"小F");  
    12.    
    13.     
    14. var query=from t in dt.AsEnumerable()  
    15.           group t by  new{t1=t.Field<DateTime>("flightTime"),t2=t.Field<DateTime>("arrivalTime")} into m  
    16.           select new  
    17.           {  
    18.           flightno=m.First().Field<string>("flightno"),  
    19.           flightTime=m.Key.t1,  
    20.           arrivalTime=m.Key.t2,  
    21.           passenger=string.Join("/",m.Select(n=>n.Field<string>("passenger")).ToArray()),  
    22.           rowcount=m.Count()  
    23.           };  
    24.   Console.WriteLine("==============输出结果:================");  
    25.   Console.WriteLine("flightno     flightTime               arrivalTime              passenger      rowcount" +"/n");  
    26.    
    27.   query.ToList().ForEach(q=>Console.WriteLine(q.flightno+"    "+q.flightTime.ToString("yyyy-MM-dd HH:mm")+"     "+q.arrivalTime.ToString("yyyy-MM-dd HH:mm")+"    "+q.passenger+"                 "+q.rowcount));  
    28.     
    29.   /* 
    30.   ==============输出结果:================ 
    31. flightno     flightTime               arrivalTime      passenger      rowcount 
    32. AU123    2010-12-20 12:30     2010-12-20 15:30    小Q/小T             2 
    33. AU123    2010-10-21 12:00     2010-12-21 14:30    小N                 1 
    34. AU124    2010-10-22 12:00     2010-12-22 11:30    小F                 1 
    35.   */  
    36. }  

    转载自http://blog.csdn.net/q107770540/article/details/6086577

  • 相关阅读:
    PHP版本VC6与VC9/VC11/VC14、Thread Safe与None-Thread Safe等的区别
    Django 开发------django-crontab实现服务端的定时任务
    django HTML 数据处理
    HTML 罗盘式时钟
    Tcpdump 常用命令、参数记录
    jquery 实现 <imput>标签 密码框显示/隐藏密码功能
    Django 实现分页功能(django 2.2.7 python 3.7.5 )
    bootstrap 4 学习笔记
    IIS属性解析
    IIS站点权限设置
  • 原文地址:https://www.cnblogs.com/codeloves/p/2767642.html
Copyright © 2011-2022 走看看