반응형
LINQ에서 날짜가 가장 높은 레코드 만 선택하는 방법
다음 필드가있는 'lasttraces'테이블이 있습니다.
Id, AccountId, Version, DownloadNo, Date
데이터는 다음과 같습니다.
28092|15240000|1.0.7.1782|2009040004731|2009-01-20 13:10:22.000
28094|61615000|1.0.7.1782|2009040007696|2009-01-20 13:11:38.000
28095|95317000|1.0.7.1782|2009040007695|2009-01-20 13:10:18.000
28101|15240000|1.0.7.1782|2009040004740|2009-01-20 14:10:22.000
28103|61615000|1.0.7.1782|2009040007690|2009-01-20 14:11:38.000
28104|95317000|1.0.7.1782|2009040007710|2009-01-20 14:10:18.000
어떻게에서 할 수 SQL에 LINQ , 매 통해 AccountId (가장 높은 날짜와 함께 하나)의 마지막 lasttrace를 얻을?
각 계정의 마지막 날짜 만 원한다면 다음을 사용하십시오.
var q = from n in table
group n by n.AccountId into g
select new {AccountId = g.Key, Date = g.Max(t=>t.Date)};
전체 기록을 원할 경우 :
var q = from n in table
group n by n.AccountId into g
select g.OrderByDescending(t=>t.Date).FirstOrDefault();
간단한 방법은 다음과 같습니다.
var lastPlayerControlCommand = this.ObjectContext.PlayerControlCommands
.Where(c => c.PlayerID == player.ID)
.OrderByDescending(t=>t.CreationTime)
.FirstOrDefault();
또한 LINQ to SQL 샘플을 살펴보십시오.
전체 기록을 원하면 람다 방법이 있습니다.
var q = _context
.lasttraces
.GroupBy(s => s.AccountId)
.Select(s => s.OrderByDescending(x => x.Date).FirstOrDefault());
다음과 같을 수 있습니다.
var qry = from t in db.Lasttraces
group t by t.AccountId into g
orderby t.Date
select new { g.AccountId, Date = g.Max(e => e.Date) };
이것을하는 간단한 방법으로 가십시오 :-
다음 정보를 보유 할 하나의 클래스를 작성했습니다.
- 레벨 (숫자)
- URL (사이트의 URL)
ArrayList 객체에 저장된 사이트 목록으로 이동하십시오. 그리고 다음 쿼리를 실행하여 수준별로 내림차순으로 정렬합니다.
var query = from MyClass object in objCollection
orderby object.Level descending
select object
컬렉션을 내림차순으로 정렬하면 맨 위 행으로 오는 Object를 가져 오는 다음 코드를 작성했습니다.
MyClass topObject = query.FirstRow<MyClass>()
이것은 매력처럼 작동했습니다.
반응형
'program story' 카테고리의 다른 글
PostgreSQL에서 트리거를 일시적으로 비활성화하려면 어떻게합니까? (0) | 2020.07.26 |
---|---|
도커-컨테이너에서 자동 다시 시작을 어떻게 비활성화합니까? (0) | 2020.07.26 |
MySQL에 데이터를 JSON으로 저장 (0) | 2020.07.26 |
제출시 양식 새로 고침 중지 페이지 (0) | 2020.07.26 |
jQuery 아약스 오류 함수 (0) | 2020.07.26 |