P粉3842444732023-08-24 14:49:27
これは基本的にピボット テーブルです。
これを実現する方法に関する優れたチュートリアルは、ここにあります: http:// /www.artfulsoftware.com/infotree/qrytip.php?id=78
この記事を読んで、このソリューションをニーズに合わせて調整することをお勧めします。
更新
上記のリンクが現在利用できなくなったため、ここで mysql ハブの答えを検索している人のために追加情報を提供する必要があると感じました。大量の情報が含まれているため、ここにすべてを掲載することはできません (彼らの膨大な知識を再現したくないだけなので、さらに多くの情報も掲載します) が、一般的にピボットを処理する方法についていくつかアドバイスを提供します。 SQL メソッド テーブルで、最初に質問した peku を例に挙げます。
おそらくリンクはすぐに戻ってくるでしょう。注目してください。
スプレッドシートメソッド...
多くの人は、この目的のために MSExcel、OpenOffice、またはその他のスプレッドシート ツールを単に使用しています。これは有効な解決策です。そこにデータをコピーし、GUI が提供するツールを使用して問題を解決するだけです。
しかし...これは問題ではありません。データをスプレッドシートに取り込む方法やスケーリングなどの問題など、いくつかの欠点が生じる可能性さえあります。
SQL 方法...
彼のフォームが次のようになっているとします:
リーリー次に、必要なフォームを表示します:
リーリー 行 (email
、print x pages
) は条件に似ています。主なグループは company_name
ごとにグループ化されます。
条件を設定するには、<代码>CASE ステートメントを使用する必要があります。何かでグループ化するには...GROUP BY
を使用します。
このピボットを提供する基本的な SQL は次のようになります:
リーリーこれにより、望ましい結果がすぐに得られるはずです。このアプローチの主な欠点は、ピボットテーブルに必要な行が増えるほど、SQL ステートメントで定義する必要がある条件が増えることです。
これも処理できるため、準備されたステートメント、ルーチン、カウンターなどを使用する傾向があります。
このトピックに関する他のリンク: