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

MySQLの列挙値を式でどのように使用できますか?


列挙値はインデックス値に関連付けられていることがわかっているため、式で列挙値を使用する場合、すべての計算はインデックス番号に対して行われます。次の例はそれを明確にします-

mysql> Select * from Result;
+-----+--------+-------+
| Id  | Name   | Grade |
+-----+--------+-------+
| 100 | Gaurav | GOOD  |
| 101 | Rahul  | POOR  |
| 102 | Rahul  | NULL  |
| 103 | Mohan  |       |
+-----+--------+-------+
4 rows in set (0.00 sec)

mysql> Select SUM(Grade) from result;
+------------+
| SUM(Grade) |
+------------+
|          3 |
+------------+
1 row in set (0.00 sec)

mysql> Select AVG(Grade) from result;
+------------+
| AVG(Grade) |
+------------+
|          1 |
+------------+
1 row in set (0.00 sec)

mysql> Select Grade+0 from result;
+---------+
| Grade+0 |
+---------+
|       2 |
|       1 |
|    NULL |
|       0 |
+---------+
4 rows in set (0.00 sec)

mysql> Select Grade-1 from result;
+---------+
| Grade-1 |
+---------+
|       1 |
|       0 |
|    NULL |
|      -1 |
+---------+
4 rows in set (0.00 sec)

上記のクエリの結果は、式で列挙値を使用する方法を示しています。


  1. クエリがMySQLでnull値を返す場合、どうすれば0を設定できますか?

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

  2. MySQLで自動インクリメント値を1から開始するように設定するにはどうすればよいですか?

    テーブルを切り捨てて、MySQLでauto_increment値を1から開始するように設定できます。まずテーブルを作成しましょう- mysql> create table DemoTable (    StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY ); Query OK, 0 rows affected (1.44 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable values(); Query OK, 1 row aff