2014-09-21 2 views
0

LINQ를 처음 사용했습니다.LINQ : Groupby 및 Last

나는 다음과 같은 테이블이 있습니다

ID Field1 Field2  Field3 
1 aaaa 20/01/2014 10 
2 aaaa 21/01/2014 3 
3 aaaa 25/01/2014 10 
4 bbbb 01/01/2014 90 
5 bbbb 03/01/2014 1 
6 bbbb 31/01/2014 5 

내가 원하는 그룹 필드 1로하고 각 그룹의 마지막 줄을 잡아. 이것에 SQL 쿼리의 것과 동일합니다 :

SELECT Field1, Last(Field2) AS LastOfField2, Last(Field3) AS LastOfField3 
FROM Table1 
GROUP BY Field1 

이이 Linq에에 달성 할 수 있는가?

답변

1
var result = from p in Table1 
group p by p.Field1 into grp 
select grp.OrderByDescending(g=>g.Field2).First(); 
+0

굉장! 그게 효과가 있었어! 나는 새로운 질문을 가지고있다 : 결과가 2 개의 레코드 (aaaa와 bbbb에 대해 하나)로 주어진다. Field3가 가장 낮은 레코드 만 가져오고 싶습니다. (StackOverflow에 새로운 질문을 게시해야합니까?) – danieljaguiar