// 引用 namespace
using System.Data;
using System.Data.SqlClient;
// 建立測試資料
DataTable dt = new DataTable();
dt.Columns.Add("Date",typeof(DateTime));
dt.Rows.Add(new DateTime(2014, 1, 1, 11, 10, 10));
dt.Rows.Add(new DateTime(2014, 1, 2, 12, 10, 10));
dt.Rows.Add(new DateTime(2014, 1, 2, 13, 10, 10));
dt.Rows.Add(new DateTime(2014, 1, 3, 14, 10, 10));
dt.Rows.Add(new DateTime(2014, 1, 4, 15, 10, 10));
// 方法一
var result = (from data in dt.AsEnumerable()
select data.Field<DateTime>("Date").Day).Distinct();
// 方法二
var result = dt.AsEnumerable().Select(Data => Data.Field<DateTime>("Date").Day).Distinct();
// 方法三
var result = from data in dt.AsEnumerable()
group data by data.Field<DateTime>("Date").Day into o
select o.Key;
// 方法四
var result = dt.AsEnumerable().GroupBy(data => data.Field<DateTime>("Date").Day).Select(o => o.Key);
星期一, 4月 28, 2014
[LINQ] GroupBy
論壇討論 - DataTable 日期不重複篩選問題,看到有前輩用 Distinct 去解,就想到說用 GroupBy 應該也可以作到同樣的效果,拿來練習一下
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言