特定のフィールド/行を削除し、MySQLで他のレコードを表示しますか?
これには、MySQLでCASEWHENステートメントを使用します。テーブルを作成しましょう-
mysql> create table demo47 −> ( −> first_name varchar(20), −> last_name varchar(20) −> ); Query OK, 0 rows affected (1.57 sec)
挿入コマンド-
を使用して、いくつかのレコードをテーブルに挿入します。mysql> insert into demo47 values('John','Smith'); Query OK, 1 row affected (0.18 sec) mysql> insert into demo47 values('David','Miller'); Query OK, 1 row affected (0.11 sec) mysql> insert into demo47 values('John','Doe'); Query OK, 1 row affected (0.12 sec) mysql> insert into demo47 values('Chris','Brown'); Query OK, 1 row affected (0.12 sec)
selectステートメントを使用してテーブルのレコードを表示する-
mysql> select *from demo47;
これにより、次の出力が生成されます-
+------------+-----------+ | first_name | last_name | +------------+-----------+ | John | Smith | | David | Miller | | John | Doe | | Chris | Brown | +------------+-----------+ 4 rows in set (0.00 sec)
以下は、MySQLで特定のフィールド/行を削除し、他のレコードを表示するためのクエリです。
mysql> select case when first_name= 'John' then last_name else first_name end Result −> from demo47 −> where 'John' in (first_name,last_name);
これにより、次の出力が生成されます-
+--------+ | Result | +--------+ | Smith | | Doe | +--------+ 2 rows in set (0.00 sec)
-
MySQLのMATCHおよびAGAINSTを使用して、特定の列に文字列を含む行を選択します
まずテーブルを作成しましょう- mysql> create table DemoTable1833 ( Name varchar(20) ); Query OK, 0 rows affected (0.00 sec) テーブルの変更- Mysql> alter table DemoTable1833 ADD FULLTEXT(Name); Query OK, 0 rows affected, 1 warning (0.00 sec) Records: 0 &nb
-
MySQLは特定の月と年に基づいてレコードをフェッチしますか?
これには、MONTH()とYEAR()を使用します。まずテーブルを作成しましょう- mysql> create table DemoTable1846 ( PurchaseDate date ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1846 values('2019-01-10');