SQLでは、
条項を使用して、複数の列に基づいてデータをグループ化できます。たとえば、
GROUP BY
SELECT * FROM <tablename> GROUP BY <column1>,<column2>
<>匿名タイプ
を使用します 1つの方法は、匿名タイプを使用することです。以下は例です:
このコードは、値の各組み合わせに対して匿名タイプを作成するために、シーケンスの要素の
およびvar groupedData = x.GroupBy(x => new { x.Column1, x.Column2 });
x
<>データの例Column1
Column2
および次の挿入ステートメント:
次のコードを使用して、これを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 サイトの他の関連記事を参照してください。