ホームページ >データベース >mysql チュートリアル >SQL を使用して MS Access で大規模なデータセットを効率的にピボットするにはどうすればよいですか?

SQL を使用して MS Access で大規模なデータセットを効率的にピボットするにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2025-01-01 13:51:09221ブラウズ

How Can I Efficiently Pivot Large Datasets in MS Access Using SQL?

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。