null値とnull以外の値を持つ複数の列から最大値を取得しますか?
このために、COALESCE()を使用できます。最大値については、MySQLでGREATEST()を使用してください。まずテーブルを作成しましょう-
mysql> create table DemoTable -> ( -> Value1 int, -> Value2 int, -> Value3 int -> ); Query OK, 0 rows affected (0.61 sec)
挿入コマンド-
を使用して、テーブルにいくつかのレコードを挿入しますmysql> insert into DemoTable values(NULL,80,76); Query OK, 1 row affected (0.21 sec) mysql> insert into DemoTable values(NULL,NULL,100); Query OK, 1 row affected (0.12 sec) mysql> insert into DemoTable values(56,NULL,45); Query OK, 1 row affected (0.20 sec) mysql> insert into DemoTable values(56,120,90); Query OK, 1 row affected (0.21 sec)>
selectステートメントを使用してテーブルのすべてのレコードを表示する-
mysql> select *from DemoTable;
これにより、次の出力が生成されます-
+--------+--------+--------+ | Value1 | Value2 | Value3 | +--------+--------+--------+ | NULL | 80 | 76 | | NULL | NULL | 100 | | 56 | NULL | 45 | | 56 | 120 | 90 | +--------+--------+--------+ 4 rows in set (0.00 sec)
以下は、複数の列から最大値をフェッチするためのクエリです-
mysql> select greatest(coalesce(Value1,0),coalesce(Value2,0),coalesce(Value3,0)) from DemoTable;
これにより、次の出力が生成されます-
+--------------------------------------------------------------------+ | greatest(coalesce(Value1,0),coalesce(Value2,0),coalesce(Value3,0)) | +--------------------------------------------------------------------+ | 80 | | 100 | | 56 | | 120 | +--------------------------------------------------------------------+ 4 rows in set (0.00 sec)
-
1つのMySQLqueryで2つのテーブルの最大値から最小値を選択しますか?
このために、MySQLでUNIONを使用できます。まずテーブルを作成しましょう- mysql> create table DemoTable1 -> ( -> Value int -> ) -> ; Query OK, 0 rows affected (0.48 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1 values(60); Query OK, 1 row
-
MySQLのNULLおよびNOTNULLレコードを含む列からのNOTNULL値のみを表示します
このために、ISNOTNULLプロパティを使用できます。まずテーブルを作成しましょう- mysql> create table DemoTable1 ( DueDate date ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1 values('2019-09-10'); Query OK,