我有以下信息LINQ查詢問題
日期,名稱列表,以及一些統計
名稱可以重複,但他們不一定。
所以比如我可能有
5,今天, 「約翰」
4,今天, 「金」
3,今天, 「彼得」
2,昨日, 「金」
1,昨天,「添」
我想要一個查詢,檢索每個用戶的最新記錄。在我的例子中,這將是記錄5,4和1.
我是否必須將每條記錄與整個數據庫進行匹配才能找出?
什麼是最好的表現查詢來實現這一目標?
我有以下信息LINQ查詢問題
日期,名稱列表,以及一些統計
名稱可以重複,但他們不一定。
所以比如我可能有
5,今天, 「約翰」
4,今天, 「金」
3,今天, 「彼得」
2,昨日, 「金」
1,昨天,「添」
我想要一個查詢,檢索每個用戶的最新記錄。在我的例子中,這將是記錄5,4和1.
我是否必須將每條記錄與整個數據庫進行匹配才能找出?
什麼是最好的表現查詢來實現這一目標?
也許這樣的事情可以工作?
var linq = people.GroupBy(a => a.Name).Select(a => a.OrderBy(a => a.Date).Last());
加長版:
var linq = from person in people
group person by person.Name into grouped
select grouped.OrderBy(a => a.Date).Last();
這裏就是我想:
from u in context.Users
group u by u.UserID into grouped
select grouped.OrderByDescending(g => g.Date).First()
您的意思是古老的,而不是最新的?爲什麼你想要2而不是4如果最新意味着最新?在SQL中,你問的看起來像用戶名分組,並有Id =分鐘... –
哎呀,我在上次編輯切換列表上的數字,忘了改變這一點。 – bevacqua
你只有在LINQ或SQL中有問題,你能告訴我們哪個SQL查詢給你預期的結果嗎? –