MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

値を持たない列が引数として渡された場合、MySQL SUM()関数の出力はどうなりますか?


MySQL SUM()関数が引数として値を持たない列を取得すると、出力として0ではなくNULLを返します。列は任意のデータ型にすることができます。例に従って、値のない「id」という名前の列が1つしかない「social」という名前のテーブルを使用して、それを説明します

mysql> Describe Social;
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| Id    | int(11)     | YES  |     |   NULL  |       |
| Name  | varchar(20) | YES  |     |    NULL |       |
+-------+-------------+------+-----+---------+-------+
2 rows in set (0.00 sec)

mysql> Select * from Social;
Empty set (0.00 sec)

mysql> Select SUM(id) from Social;
+---------+
| SUM(id) |
+---------+
| NULL    |
+---------+
1 row in set (0.00 sec)

mysql> Select SUM(Name) from Social;
+-----------+
| SUM(Name) |
+-----------+
| NULL      |
+-----------+
1 row in set (0.00 sec)

  1. 複数のNULL値を持つ列でDISTINCT句を使用すると、MySQLは何を返しますか?

    複数のNULL値を持つ列でDISTINCT句を使用すると、すべてのNULL値がMySQLによって同じものとして扱われます。 これは、DISTINCT句のプロパティに従って、MySQLが結果セットで1つのNULL値のみを返し、他の値を削除することを意味します。 「Lname」列に複数のNULL値を持つ「testing」という名前のテーブルの例を考えてみましょう。 mysql> Select * from testing; +------+---------+---------+ | id   | fname   | Lname   | +------+---

  2. MySQLの列の値を合計しますか?

    これには、集計関数SUM()を使用します。まずテーブルを作成しましょう- mysql> create table DemoTable    -> (    -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,    -> € int    -> ); Query OK, 0 rows affected (0.71 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into