[問題] DataTable distinct保留最後一筆?

看板C_Sharp作者 (1+1≠2)時間8年前 (2015/09/01 00:36), 編輯推噓2(208)
留言10則, 4人參與, 最新討論串1/1
如果我有一個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://www.ptt.cc/bbs/C_Sharp/M.1441038991.A.717.html

09/01 00:42, , 1F
不論資料怎麼塞,都是取相同的最後一筆嗎?
09/01 00:42, 1F

09/01 00:46, , 2F
還有怎麼確定下SQL,取到的資料的最後一筆是你要的
09/01 00:46, 2F

09/01 06:48, , 3F
是的,無論資料怎麼塞,相同key只保留最後一筆
09/01 06:48, 3F

09/01 06:51, , 4F
應該說,datatable是我讀某個檔案內容所組出來的,所以
09/01 06:51, 4F

09/01 06:51, , 5F
,就以最後一筆為主
09/01 06:51, 5F

09/01 15:55, , 6F
var r = from b in dt.AsEnumerable()
09/01 15:55, 6F

09/01 15:56, , 7F
group b by b.Field<string>(Name) into g
09/01 15:56, 7F

09/01 15:57, , 8F
select g.Last();
09/01 15:57, 8F

09/01 21:27, , 9F
為什麼不在資料庫處理完再拿出來呢?
09/01 21:27, 9F

09/01 21:28, , 10F
oops 來源原來是檔案。
09/01 21:28, 10F
文章代碼(AID): #1Lv8AFSN (C_Sharp)