ホームページ >データベース >mysql チュートリアル >グループ化された SQL クエリ (MSSQL) 内の条件付き合計を計算するにはどうすればよいですか?
Group By クエリでの条件付き合計の使用 - MSSQL
Freddie は、特定の基準に基づいてテーブル データを要約する SQL クエリを必要としています。元のテーブル OrderDetails には、特定の注文 (OrderId) に関連付けられたコストを表す 4 つの列が含まれています。目標は、OrderId、ItemCount、TotalCopyCost、TotalFullPrice の 5 つの列を持つ新しいテーブルを作成することです。
望ましい結果を得るには、Group By ステートメントと CASE ステートメントを組み合わせて使用します。 Group By は OrderId でデータをグループ化するために使用され、CASE ステートメントは PriceType 列に基づいて CopyCost 値と FullPrice 値を条件付きで合計します:
<code class="language-sql">SELECT OrderId, COUNT(*) AS ItemCount, SUM(CASE WHEN PriceType = 'CopyCost' THEN Price ELSE 0 END) AS TotalCopyCost, SUM(CASE WHEN PriceType = 'FullPrice' THEN Price ELSE 0 END) AS TotalFullPrice FROM OrderDetails GROUP BY OrderId;</code>
このクエリは、OrderDetails テーブルを OrderId で効果的にグループ化し、各グループ内の項目数をカウントし、各グループの CopyCost 値と FullPrice 値を条件付きで合計し、目的のスキーマを持つ新しいテーブルを生成します。
以上がグループ化された SQL クエリ (MSSQL) 内の条件付き合計を計算するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。