LINQ 데이터 집계 및 그룹화: 효율적인 방법에 대한 자세한 설명
LINQ(Language Integrated Query)는 다양한 시나리오에서 데이터를 쿼리하고 조작하는 강력하고 간결한 방법을 제공합니다. 일반적인 작업 중 하나는 특정 기준에 따라 데이터를 그룹화하고 각 그룹화에서 발생 횟수를 계산하는 것입니다.
LINQ를 사용하여 데이터 그룹화 및 계산
name, metric, day 및 other_metric과 같은 필드를 포함하는 UserInfo라는 데이터 세트가 있다고 가정합니다. 메트릭 값을 기준으로 정렬하고 메트릭 수를 가져오려면 다음 LINQ 구문을 사용할 수 있습니다.
<code class="language-csharp">var groupMetrics = from info in data // 从数据源开始 group info by info.metric into grp // 按'metric'字段分组 select new { Key = grp.Key, Count = grp.Count() }; // 选择键和计数</code>
이 쿼리는 다음을 수행합니다.
이 쿼리를 실행하면 측정항목 값과 해당 개수가 포함된 목록이 제공되므로 데이터세트 내 측정항목 분포에 대한 요약이 제공됩니다.
맞춤형 그룹 결과
위 솔루션은 익명 유형을 사용하여 그룹화된 결과를 구성합니다. 그러나 그룹화된 데이터를 나타내는 사용자 정의 클래스를 정의하여 출력 형식을 더 효과적으로 제어할 수도 있습니다.
기타 솔루션
LINQ to SQL을 사용하는 대안은 원래 질문에 언급되어 있습니다.
<code class="language-csharp">var pl = from r in info orderby r.metric group r by r.metric into grp select new { key = grp.Key, cnt = grp.Count()};</code>
두 솔루션 모두 지표별로 그룹화하고 발생 횟수를 계산하는 목표를 달성하지만 LINQ to SQL 구문은 데이터베이스 쿼리를 위해 특별히 설계된 반면, 순수 LINQ 구문은 UserInfo 개체의 열거된 컬렉션에 적용될 수 있습니다. 선택하는 방법은 작업 중인 컨텍스트와 데이터 소스에 따라 다릅니다.
위 내용은 LINQ는 어떻게 데이터를 효율적으로 그룹화하고 각 그룹 내에서 발생 횟수를 계산할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!