ホームページ > バックエンド開発 > C++ > LINQの複数の列でデータをグループ化する方法は?

LINQの複数の列でデータをグループ化する方法は?

DDD
リリース: 2025-01-31 15:31:09
オリジナル
268 人が閲覧しました

How to Group Data by Multiple Columns in LINQ?

linq詳細

SQLでは、

条項を使用して、複数の列に基づいてデータをグループ化できます。たとえば、

GROUP BY

linqに同様の関数を実装する方法は?
SELECT * FROM <tablename> GROUP BY <column1>,<column2>
ログイン後にコピー

<>匿名タイプ

を使用します 1つの方法は、匿名タイプを使用することです。以下は例です:

このコードは、値の各組み合わせに対して匿名タイプを作成するために、

シーケンスの要素の

および
var groupedData = x.GroupBy(x => new { x.Column1, x.Column2 });
ログイン後にコピー
属性に基づいてグループ化されます。

x<>データの例Column1Column2

次のデータ構造を検討してください:

および次の挿入ステートメント:

次のコードを使用して、これをlinqに変換できます:
public class QuantityBreakdown
{
    public int MaterialID { get; set; }
    public int ProductID { get; set; }
    public float Quantity { get; set; }
}
ログイン後にコピー

このlinq式は、
INSERT INTO @QuantityBreakdown (MaterialID, ProductID, Quantity)
SELECT MaterialID, ProductID, SUM(Quantity)
FROM @Transactions
GROUP BY MaterialID, ProductID
ログイン後にコピー
および

に従って支払われ、各グループの

値の合計を計算します。
var groupedTransactions = transactions
    .GroupBy(t => new { t.MaterialID, t.ProductID })
    .Select(g => new QuantityBreakdown
    {
        MaterialID = g.Key.MaterialID,
        ProductID = g.Key.ProductID,
        Quantity = g.Sum(t => t.Quantity)
    });
ログイン後にコピー

以上がLINQの複数の列でデータをグループ化する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート