看板 C_Sharp 關於我們 聯絡資訊
如果我有一個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
wanderer1412: 不論資料怎麼塞,都是取相同的最後一筆嗎? 09/01 00:42
wanderer1412: 還有怎麼確定下SQL,取到的資料的最後一筆是你要的 09/01 00:46
don750421: 是的,無論資料怎麼塞,相同key只保留最後一筆 09/01 06:48
don750421: 應該說,datatable是我讀某個檔案內容所組出來的,所以 09/01 06:51
don750421: ,就以最後一筆為主 09/01 06:51
soup514: var r = from b in dt.AsEnumerable() 09/01 15:55
soup514: group b by b.Field<string>(Name) into g 09/01 15:56
soup514: select g.Last(); 09/01 15:57
m339606: 為什麼不在資料庫處理完再拿出來呢? 09/01 21:27
m339606: oops 來源原來是檔案。 09/01 21:28