作者don750421 (1+1≠2)
看板C_Sharp
标题[问题] DataTable distinct保留最後一笔?
时间Tue Sep 1 00:36:23 2015
如果我有一个DataTable,大概是长这样...
Name | Age | sex | Phone
---------+-----+-------+--------
row1 Kevin | 18 | boy | 1223
------------------------------------
row2 Peter | 20 | boy | 2334
------------------------------------
row3 Tom | 23 | boy | 5656
------------------------------------
row4 Kevin | 28 | girl | 4564
------------------------------------
row5 Kevin | 25 | boy | 1223
如果我使用,DataTable的distinct Name这个栏位。则应该会是第4.5笔被砍掉....
那,有没有办法在我做distinct时,是保留最後一笔资料...
希望输出结果如下....
Name | Age | sex | Phone
---------+-----+-------+--------
row1 Peter | 20 | boy | 2334
------------------------------------
row2 Tom | 23 | boy | 5656
------------------------------------
row3 Kevin | 25 | boy | 1223
P.S 我知道可以新增一个DataTable,一笔一笔慢慢比较,再挪过去新的DataTable。
但是我想知道有没有什麽比较快速的方式呢??
谢谢各位前辈
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 114.27.165.214
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_Sharp/M.1441038991.A.717.html
1F:推 wanderer1412: 不论资料怎麽塞,都是取相同的最後一笔吗? 09/01 00:42
2F:推 wanderer1412: 还有怎麽确定下SQL,取到的资料的最後一笔是你要的 09/01 00:46
3F:→ don750421: 是的,无论资料怎麽塞,相同key只保留最後一笔 09/01 06:48
4F:→ don750421: 应该说,datatable是我读某个档案内容所组出来的,所以 09/01 06:51
5F:→ don750421: ,就以最後一笔为主 09/01 06:51
6F:→ soup514: var r = from b in dt.AsEnumerable() 09/01 15:55
7F:→ soup514: group b by b.Field<string>(Name) into g 09/01 15:56
8F:→ soup514: select g.Last(); 09/01 15:57
9F:→ m339606: 为什麽不在资料库处理完再拿出来呢? 09/01 21:27
10F:→ m339606: oops 来源原来是档案。 09/01 21:28