ホームページ  >  記事  >  データベース  >  mysqlでのgroup byの使用法は何ですか

mysqlでのgroup byの使用法は何ですか

藏色散人
藏色散人オリジナル
2020-10-27 10:43:226190ブラウズ

mysql での group by の使用法は、集計関数と連携し、グループ化情報を使用して、「名前、番号でテスト グループから名前、合計 (id) を選択する」などの統計を実行することです。

mysqlでのgroup byの使用法は何ですか

# 推奨: 「

mysql ビデオ チュートリアル

まず、以下の表 1 を見てください。テーブル名は test:


mysqlでのgroup byの使用法は何ですか 次の SQL ステートメントを実行します:

SELECT name FROM test GROUP BY name
操作の結果は簡単にわかるはずです。そうです、それは以下の表 2 です:


mysqlでのgroup byの使用法は何ですか しかし、「複数の列によるグループ化」と「集計関数」の適用をよりよく理解するために、考える過程で次のように使用することをお勧めします。テーブル 1 からテーブル 2 へのプロセスで、架空の中間テーブルを追加します:
仮想テーブル 3. 上記の SQL ステートメントの実行についてどのように考えるかについて話しましょう:

1。 FROM テスト: この文 実行後の結果は、元のテーブルであるテーブル 1 と同じになるはずです

2.FROM テスト グループ BY 名: この文の実行後、仮想テーブル 3 が以下の図に示すように、生成プロセスは次のようになります: 名前でグループ化し、名前の列を見つけて、同じ名前の値を持つ行を 1 つの行にマージします。たとえば、名前の値が aa の場合、次に、 と の 2 つの行が 1 つの行にマージされ、以下の図に示すように、すべての id 値と数値が 1 つのセルに書き込まれます


mysqlでのgroup byの使用法は何ですか 3. 次に、仮想テーブル 3 に対して Select ステートメントを実行します。

(1) select * を実行すると、返される結果は仮想テーブル 3 になります。ただし、その内容はid とnumber の一部のセルは複数の値を持っているため、id とnumber はそれぞれのセルの値を返します。最初の値を並べ替えます。id 列は 1、3、5

を返します (2) では、名前列をもう一度見てください。各セルにはデータが 1 つだけあるので、名前を選択すれば問題ありません。なぜ名前列の各セルに値が 1 つだけあるのは、グループ化に名前列を使用しているためです。

(3) id とnumber のセルに複数のデータがある場合はどうすればよいでしょうか? 答えは、集計関数を使用することです。集計関数は、複数のデータを入力して 1 つのデータを出力するために使用されます。たとえば、count(id) などです。 , sum(number) であり、各集計関数の入力は複数のデータを持つ各セルです。

(4) たとえば、名前でテスト グループから select name,sum(number) を実行すると、sum仮想テーブル 3 の数値列の各セル (たとえば、aa という名前の行) で合計演算を実行します。数値列は合計演算 (つまり 2 3) を実行し、5 を返します。最終的な実行結果は次のようになります。 :


mysqlでのgroup byの使用法は何ですか 5) 複数のフィールドによるグループ化を理解する方法: 名前、番号によるグループ化など、名前と番号はフィールド全体とみなされ、次のように全体としてグループ化されます。以下の図:

mysqlでのgroup byの使用法は何ですか 6) 次に、選択関数と集計関数を使用して操作できます。たとえば、select name,sum(id) from test group by name,number を実行すると、結果は次のようになります。

mysqlでのgroup byの使用法は何ですか

以上がmysqlでのgroup byの使用法は何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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