ホームページ  >  記事  >  データベース  >  MySQL データクエリ: 集合/集計関数を使用したクエリ

MySQL データクエリ: 集合/集計関数を使用したクエリ

coldplay.xixi
coldplay.xixi転載
2021-03-12 09:23:422837ブラウズ

MySQL データクエリ: 集合/集計関数を使用したクエリ

#MySQL 集計関数は次のとおりです:

FunctionFunction##avg()count()max()min( )sum()(1)count () 関数
特定の列の平均値を返します
特定の列の行数
特定の列の最大値を返します
列の特定の最小値を返します
列内の値の合計を返します
(2)sum() 関数

(3)avg() 関数
(4)max() 関数
(5)min() 関数


(無料学習の推奨事項:

mysql ビデオ チュートリアル)#(1)count() 関数

#count() 関数は、データ テーブルに含まれるレコード行の総数をカウントするか、含まれるデータ行の数を返します。
①count(*) は、列に値があるか null 値があるかに関係なく、列内の合計行数を計算します。
②count(フィールド名)は、指定した列以下の総行数を計算します。null値を含む行は計算時に無視されます。

  • [例 1] Customers テーブルの総行数をクエリする場合、SQL ステートメントは次のとおりです。
    mysql> select count(*) as cust_num    -> from customers;+----------+| cust_num |+----------+|        4 |+----------+1 row in set (0.06 sec)
  • クエリ結果から、 count( *) は、その値に関係なく、customers テーブルに記録されている行の合計数を返します。返される合計の名前は cust_num です。

[例 2]得意先テーブル内の電子メール アドレスを持つ顧客の総数をクエリする SQL ステートメントは次のとおりです:

mysql> select count(c_email) as email_num    -> from customers;+-----------+| email_num |+-----------+|         3 |+-----------+1 row in set (0.00 sec)

上記 2 つの例の異なる結果は、2 つの例が次のことを示しています。メソッドは合計数を計算するときに null を扱いますが、value メソッドは異なります。つまり、指定された列に空の値を持つ行は count() 関数によって無視されますが、列が指定されておらず、* が使用されている場合は、 count() 関数では、すべてのレコードが無視されません。

[例 3] orderitems テーブルで、count() 関数を group by キーワードとともに使用して、さまざまなグループ内のレコードの合計数を計算します。

mysql> select o_num,count(f_id)
    -> from orderitems    -> group by o_num;+-------+-------------+| o_num | count(f_id) |+-------+-------------+| 30001 |           4 || 30002 |           1 || 30003 |           1 || 30004 |           1 || 30005 |           4 |+-------+-------------+5 rows in set (0.00 sec)

(2)sum() function

sum は、指定された列値の合計を返す sum 関数です。
    【例】orderitems テーブルの注文番号 30005 の果物の合計購入金額を問い合わせる SQL 文は次のとおりです。 with group by 各グループの合計を計算します。
  • [例] orderitems テーブルで、sum() 関数を使用して、さまざまな注文番号で注文されたフルーツの合計量をカウントします。SQL ステートメントは次のとおりです。関数が計算する場合、値は無視されます。null 行。

(3)avg() 関数

avg() 関数は、返された行数と各行のデータの合計を計算することにより、指定された列データの平均を計算します。カラム。

avg() 関数を使用する場合、そのパラメーターは計算される列の名前です。複数の列の複数の平均を取得したい場合は、各列で avg() 関数を使用する必要があります。 。

[例 1] 果物テーブルで、s_id=103 のサプライヤーの果物の平均価格をクエリします。SQL ステートメントは次のとおりです:
mysql> select sum(quantity) as items_total    -> from orderitems    -> where o_num = 30005;+-------------+| items_total |+-------------+|          30 |+-------------+1 row in set (0.05 sec)
    [例 2]果物テーブルで、各サプライヤーからの果物の平均価格をクエリする場合、SQL ステートメントは次のとおりです。
  • mysql> select o_num,sum(quantity) as items_total    -> from orderitems    -> group by o_num;+-------+-------------+| o_num | items_total |+-------+-------------+| 30001 |          33 || 30002 |           2 || 30003 |         100 || 30004 |          50 || 30005 |          30 |+-------+-------------+5 rows in set (0.00 sec)
  • group by キーワードは、s_id フィールドに従ってレコードをグループ化し、各グループの平均値を計算します。このグループ化の平均化方法は非常に便利です。たとえば、さまざまなクラスの生徒の平均点を調べたり、さまざまな部門の従業員の平均給与を調べたり、さまざまな場所の年間平均気温を調べたりします。
  • (4)max() 関数

max() は、指定された列の最大値を返します。

max() 関数は、最大の列値または日付値を検索するだけでなく、文字タイプの最大値を含む任意の列の最大値を返すこともできます。

[例 1] 果物テーブルで市場で最高価格の果物の価値を検索します。SQL ステートメントは次のとおりです:
mysql> select avg(f_price) as avg_price    -> from fruits    -> where s_id = 103;+-----------+| avg_price |+-----------+|  5.700000 |+-----------+1 row in set (0.05 sec)
    [例 2] 値を検索します。果物テーブルのさまざまなサプライヤーから提供される果物の最高価格の SQL ステートメントは次のとおりです。
  • mysql> select s_id,avg(f_price) as avg_price    -> from fruits    -> group by s_id;+------+-----------+| s_id | avg_price |+------+-----------+|  104 |  7.000000 ||  101 |  6.200000 ||  103 |  5.700000 ||  107 |  3.600000 ||  102 |  8.933333 ||  105 |  7.466667 ||  106 | 15.700000 |+------+-----------+7 rows in set (0.00 sec)
  • [例 3] 果物テーブルの f_name の最大値を検索します。SQL ステートメントは次のとおりです。
  • mysql> select max(f_price) as max_price from fruits;+-----------+| max_price |+-----------+|     15.70 |+-----------+1 row in set (0.05 sec)
  • (5)min() 関数

- min() はクエリ列の最小値を返します。

[例 1] 果物テーブルで市場の果物の最低価格を検索します。SQL ステートメントは次のとおりです:

mysql> select s_id,max(f_price) as max_price    -> from fruits    -> group by s_id;+------+-----------+| s_id | max_price |+------+-----------+|  104 |      7.60 ||  101 |     10.20 ||  103 |      9.20 ||  107 |      3.60 ||  102 |     11.20 ||  105 |     11.60 ||  106 |     15.70 |+------+-----------+7 rows in set (0.00 sec)

[例 2] さまざまなサプライヤーが提供する最低価格を検索します。フルーツ テーブル内 フルーツ ジュースの SQL ステートメントは次のとおりです:

mysql> select max(f_name) from fruits;+-------------+| max(f_name) |+-------------+| xxxx        |+-------------+1 row in set (0.00 sec)

関連する無料学習の推奨事項:

mysql データベース

###(ビデオ)# ########

以上がMySQL データクエリ: 集合/集計関数を使用したクエリの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcsdn.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。