【发布时间】:2013-12-05 16:50:35
【问题描述】:
我有一个数据表有这样的记录...
JID Date RecentChatString
-----------------------------------------------------------------------
abc@gmail.com 11/Nov/2013 11:53:00 Hi
abc@gmail.com 11/Nov/2013 11:53:10 Hello
abc@gmail.com 11/Nov/2013 11:54:00 Good Morning
def@gmail.com 11/Nov/2013 12:03:00 Ok
abc@gmail.com 11/Nov/2013 12:05:10 Please reply
def@gmail.com 11/Nov/2013 12:15:00 Good after noon
def@gmail.com 11/Nov/2013 12:15:50 Ok bye
我想获取按日期排序的 Top 10 Distinct Records,仅表示每个 JID 的最近聊天..
JID Date RecentChatString
-----------------------------------------------------------------------
abc@gmail.com 11/Nov/2013 12:05:10 Please reply
def@gmail.com 11/Nov/2013 12:15:50 Ok bye
现在我有这样的代码。我可以使用此代码获取按日期排序的前 10 条记录。
但是,它包含重复的JID's。请帮我。 (recent_index 是一个数据表)
DataRow recent_dr = recent_index.NewRow();
recent_dr["JID"] = RosterId;
recent_dr["Date"] = DateTime.Now;
recent_dr["RecentChatString"] = _chatline;
recent_index.Rows.Add(recent_dr);
DataTable dtt = new DataTable("RecentChats");
dtt.Columns.Add("JID", Type.GetType("System.String"));
dtt.Columns.Add("Date", Type.GetType("System.DateTime"));
dtt.Columns.Add("RecentChatString", Type.GetType("System.String"));
IEnumerable<DataRow> recentTen = recent_index.AsEnumerable().OrderByDescending(x=>x["Date"]).Take(10);
recentTen.CopyToDataTable(dtt, LoadOption.OverwriteChanges);
dtt.WriteXml(s + "\\FPhoneData\\chats\\index.xml");
【问题讨论】:
-
什么数据库引擎?
-
你试过
.Distinct吗? -
@MichaelPerrenoud XML...