나는 람다 LINQ는 GROUPBY와 람다 LINQ에 SQL을 번역하고
SELECT ID, AVG(Score) FROM myTable
GROUP BY ID
어떤 생각 간단한 SQL을 번역하려고 몇 시간을 보내고 평균?
나는 람다 LINQ는 GROUPBY와 람다 LINQ에 SQL을 번역하고
SELECT ID, AVG(Score) FROM myTable
GROUP BY ID
어떤 생각 간단한 SQL을 번역하려고 몇 시간을 보내고 평균?
from t in myTable
group t by new {
t.ID
} into g
select new {
Average = g.Average(p => p.Score),
g.Key.ID
}
또는 람다 어쨌든 어떤 언어로
myTable.GroupBy(t => new {ID = t.ID})
.Select (g => new {
Average = g.Average (p => p.Score),
ID = g.Key.ID
})
var _result = from a in myTable
group a by a.ID into g
select new
{
ID = g.Key.ID,
AverageResult = g.Average(x => x.Score)
}
'g.Key.ID'는 존재하지 않으며 컴파일되지 않는다는 것에주의하십시오. 이 스 니펫에는'g.Key '만 필요합니다. –
@AnthonyPegram 왜 컴파일되지 않습니까? 방금 테스트 했어. –
이 버전? 대략 ''int '는'ID '에 대한 정의를 포함하지 않고'ID '를 수락하는 확장 메서드가 없음을 나타내는 오류 메시지가 나타납니다. (실제 속성 유형이 ID에 대해 무엇이든간에'int '로 대체하십시오.) 포인트는'g.Key' *가 ID이다. 그것은 ID 속성을 포함하는 객체가 아닙니다. –
Linq-to-Objects의 해당 기능은 다음과 같습니다.
var results = from row in myTable
group row by row.Id into rows
select new
{
Id = rows.Key,
AverageScore = rows.Average(row => row.Score)
};
ORM과 유사한 엔티티 프레임 워크의 경우 약간 다릅니다. 즉, 데이터 컨텍스트 또는 적절한 DbSet/ObjectSet을 수행해야합니다.
? :) – spajce