C# LINQ에서 람다 형식을 사용하여 초당 레코드를 그룹화하는 방법을 찾고 있습니다. 나의 수색에서 나는 이것을하는 좋은 방법을 아직 찾아 내지 않았다.SQL을 LINQ로 변환하여 초당 생성 된 레코드를 그룹화해야 함
SQL 쿼리는 다음과 같습니다.
select count(cct_id) as 'cnt'
,Year(cct_date_created)
,Month(cct_date_created)
,datepart(dd,cct_date_created)
,datepart(hh,cct_date_created)
,datepart(mi,cct_date_created)
,datepart(ss,cct_date_created)
from ams_transactions with (nolock)
where cct_date_created between dateadd(dd,-1,getdate()) and getdate()
group by
Year(cct_date_created)
,Month(cct_date_created)
,datepart(dd,cct_date_created)
,datepart(hh,cct_date_created)
,datepart(mi,cct_date_created)
,datepart(ss,cct_date_created)
가장 가까운 i는 다음과 같았지만 올바른 결과를 제공하지 못했습니다.
var groupedResult = MyTable.Where(t => t.cct_date_created > start
&& t.t.cct_date_created < end)
.GroupBy(t => new { t.cct_date_created.Month,
t.cct_date_created.Day,
t.cct_date_created.Hour,
t.cct_date_created.Minute,
t.cct_date_created.Second })
.Select(group => new {
TPS = group.Key.Second
});
이 초 그룹화하지만 개별 날짜 범위에서 분 대신 날짜 범위에있는 모든 분의 초당로 고려하지 않고있는 것으로 보인다. 초당 트랜잭션을 얻으려면 월, 시간, 일, 분의 각 분을 별도로 고려해야합니다.
목표는이 그룹화 된 목록에서 최대 및 평균을 가져 오는 것입니다. 어떤 도움을 크게 주시면 감사하겠습니다 :)
이것을 테스트 해 보니 문제가 해결되었습니다. 조언 감사합니다! – FlyTigert