ホームページ >データベース >mysql チュートリアル >SQL を使用して MS Access で大規模なデータセットを効率的にピボットするにはどうすればよいですか?
MS Access でのデータのピボット: 包括的なソリューション
Microsoft Access では、データをピボットすると行が列に変換され、データの集計が容易になり、分析。ピボット テーブルが Access の制限を超える可能性があるため、大規模なデータセットをピボットするときにユーザーはしばしば問題に遭遇します。この記事では、データをピボットし、この問題に効果的に対処するための堅牢な SQL クエリ手法を提供します。
1 か月にわたって消費された学生 ID と食事項目を抽出するクエリがあるシナリオを考えてみましょう。目標は、各生徒の各食事の種類 (朝食、昼食、おやつ) の回数をカウントすることです。
これを達成するには、TRANSFORM ステートメントを使用します。次の SQL クエリはそのトリックを実行します:
TRANSFORM COUNT(MenuItems.MealType) SELECT April2013.SID, MenuItems.MealType FROM April2013 LEFT JOIN MenuItems ON MenuItems.Item=April2013.Item GROUP BY April2013.SID PIVOT MenuItems.MealType;
このクエリは TRANSFORM を使用して各 MealType のインスタンスをカウントします。 SELECT ステートメントはピボットに含めるフィールドを識別しますが、LEFT JOIN は関連する食事タイプのないレコードが除外されないことを保証します。 GROUP BY は結果を学生 ID ごとにグループ化し、PIVOT は行を食事の種類ごとの列に変換し、各学生の数を表示します。
この手法を利用すると、情報に関係なく、Access でデータを効率的にピボットできます。データセットのサイズ。出力は、以下に示すように、目的の構造でフォーマットされます:
+-----+-----------+-------+---------+ | SID | Breakfast | Lunch | Snack | +-----+-----------+-------+---------+ | 001 | 3 | 10 | 1 | | 002 | 4 | 8 | 10 | | 003 | 18 | 2 | 7 | | 004 | 6 | 7 | 2 | +-----+-----------+-------+---------+
以上がSQL を使用して MS Access で大規模なデータセットを効率的にピボットするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。