如何在datatable中使用groupby進行分組統(tǒng)計
本文介紹了在datatable中使用groupby進行分組統(tǒng)計,下面是為大家分享的效果圖和實現(xiàn)代碼:
實現(xiàn)效果
在SQL中我們可以使用groupby來進行分組統(tǒng)計,如果數(shù)據(jù)在datatable中該如何使用groupby呢,下面的方法可以實現(xiàn)groupby,代碼如下:
DataTable dt = new DataTable("cart"); DataColumn dc1 = new DataColumn("areaid", Type.GetType("System.String")); DataColumn dc2 = new DataColumn("house", Type.GetType("System.String")); DataColumn dc3 = new DataColumn("seq", Type.GetType("System.String")); DataColumn dc4 = new DataColumn("remark", Type.GetType("System.String")); dt.Columns.Add(dc1); dt.Columns.Add(dc2); dt.Columns.Add(dc3); dt.Columns.Add(dc4); DataRow dr = dt.NewRow(); dr["areaid"] = "北京"; dr["house"] = "北京倉庫"; dr["seq"] = "2"; dr["remark"] = "貨到付款"; dt.Rows.Add(dr); DataRow dr1 = dt.NewRow(); dr1["areaid"] = "北京"; dr1["house"] = "上海倉庫"; dr1["seq"] = "1"; dr1["remark"] = "貨到付款"; dt.Rows.Add(dr1); DataRow dr2 = dt.NewRow(); dr2["areaid"] = "上海"; dr2["house"] = "上海倉庫"; dr2["seq"] = "1"; dr2["remark"] = "貨到付款"; dt.Rows.Add(dr2); DataRow dr3 = dt.NewRow(); dr3["areaid"] = "上海"; dr3["house"] = "北京倉庫"; dr3["seq"] = "1"; dr3["remark"] = "貨到付款"; dt.Rows.Add(dr3); var query = from t in dt.AsEnumerable() group t by new { t1 = t.Field<string>("areaid"), t2 = t.Field<string>("seq") } into m select new { areaid = m.Key.t1, seq = m.Key.t2, house = m.First().Field<string>("house"), rowcount = m.Count() }; Console.WriteLine("區(qū)域 "+" 庫房"+" 數(shù)量"); foreach (var item in query.ToList()) { if (item.rowcount>1) { MessageBox.Show(item.areaid+"---"+item.house); } Console.WriteLine(item.areaid+"---"+item.house+"---"+item.rowcount); Console.WriteLine("\r\n"); }
在datatable中使用groupby進行分組統(tǒng)計就是通過上面的代碼進行實現(xiàn)的,希望可以對大家的學(xué)習(xí)有所幫助。
相關(guān)文章
.Net(c#)漢字和Unicode編碼互相轉(zhuǎn)換實例
下面小編就為大家?guī)硪黄?Net(c#)漢字和Unicode編碼互相轉(zhuǎn)換實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-02-02C#中parallel.foreach實現(xiàn)多線程處理
Parallel.ForEach方法是C#中的一個并行循環(huán)方法,它可以并行地對一個集合進行迭代操作,本文主要介紹了C#中parallel.foreach實現(xiàn)多線程處理,具有一定的參考價值,感興趣的可以了解一下2024-02-02同時兼容JS和C#的RSA加密解密算法詳解(對web提交的數(shù)據(jù)加密傳輸)
這篇文章主要給大家介紹了關(guān)于同時兼容JS和C#的RSA加密解密算法,通過該算法可以對web提交的數(shù)據(jù)進行加密傳輸,文中通過圖文及示例代碼介紹的非常詳細,需要的朋友們可以參考借鑒,下面來一起看看吧。2017-07-07深入分析C#中WinForm控件之Dock順序調(diào)整的詳解
本篇文章是對C#中WinForm控件之Dock順序調(diào)整進行了詳細的分析介紹,需要的朋友參考下2013-05-05