GROUP BYを実行し、MySQLで空でない列値のみを表示します
まずテーブルを作成しましょう-
mysql> create table DemoTable -> ( -> Id varchar(100), -> Message varchar(200) -> ); Query OK, 0 rows affected (1.17 sec)
挿入コマンド-
を使用して、テーブルにいくつかのレコードを挿入しますmysql> insert into DemoTable values('1',''); Query OK, 1 row affected (0.23 sec) mysql> insert into DemoTable values('1','Hi'); Query OK, 1 row affected (0.21 sec) mysql> insert into DemoTable values('2','Hello'); Query OK, 1 row affected (0.15 sec) mysql> insert into DemoTable values('3','Awesome'); Query OK, 1 row affected (0.18 sec) mysql> insert into DemoTable values('3','Good Morning'); Query OK, 1 row affected (0.11 sec) mysql> insert into DemoTable values('2',NULL); Query OK, 1 row affected (0.15 sec)
selectステートメントを使用してテーブルのすべてのレコードを表示する-
mysql> select *from DemoTable;
出力
+------+--------------+ | Id | Message | +------+--------------+ | 1 | | | 1 | Hi | | 2 | Hello | | 3 | Awesome | | 3 | Good Morning | | 2 | NULL | +------+--------------+ 6 rows in set (0.00 sec)
以下は、グループ化して最初の空でない列を選択するためのクエリです-
mysql> select Id,min(Message) from DemoTable -> where Message IS NOT NULL and length(Message) > 0 -> group by Id;
出力
+------+--------------+ | Id | min(Message) | +------+--------------+ | 1 | Hi | | 2 | Hello | | 3 | Awesome | +------+--------------+ 3 rows in set (0.06 sec)
-
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,
-
MySQLで重複する列の値を見つけて、それらを表示します
これには、GROUPBYHAVING句を使用します。まずテーブルを作成しましょう- mysql> create table DemoTable1858 ( ModelNumber varchar(50) ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1858 values('Audi A4'