MySQLは、3番目のフィールドの値に関して2つから1つのフィールドを選択しますか?
これには、IF()を使用します。まずテーブルを作成しましょう-
mysql> create table DemoTable -> ( -> PlayerName varchar(100), -> PlayerScore int, -> PlayerStatus varchar(100) -> ); Query OK, 0 rows affected (0.58 sec)
挿入コマンド-
を使用して、テーブルにいくつかのレコードを挿入しますmysql> insert into DemoTable values('John',88,'BAD'); Query OK, 1 row affected (0.13 sec) mysql> insert into DemoTable values('Chris',78,'BAD'); Query OK, 1 row affected (0.16 sec) mysql> insert into DemoTable values('Robert',90,'BAD'); Query OK, 1 row affected (0.15 sec) mysql> insert into DemoTable values('David',80,'BAD'); Query OK, 1 row affected (0.23 sec)
selectステートメントを使用してテーブルのすべてのレコードを表示する-
mysql> select *from DemoTable;
出力
+------------+-------------+--------------+ | PlayerName | PlayerScore | PlayerStatus | +------------+-------------+--------------+ | John | 88 | BAD | | Chris | 78 | BAD | | Robert | 90 | BAD | | David | 80 | BAD | +------------+-------------+--------------+ 4 rows in set (0.00 sec)
以下は、3番目のフィールドの値に関して2つから任意の1つのフィールドを選択するためのクエリです-
mysql> select PlayerScore,if(PlayerScore > 80 , PlayerName ,PlayerStatus) AS Result from DemoTable;
出力
+-------------+--------+ | PlayerScore | Result | +-------------+--------+ | 88 | John | | 78 | BAD | | 90 | Robert | | 80 | BAD | +-------------+--------+ 4 rows in set (0.00 sec)
-
1つのMySQLクエリで2つのSELECTステートメントを使用して、特定のフィールドに値がないレコードを返します
このために、サブクエリとともにWHERE句を使用できます。まずテーブルを作成しましょう- mysql> create table DemoTable1840 ( UserName varchar(20), UserType ENUM('GUEST','ADMIN') ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコー
-
MySQLでカウントが最も多いフィールドを返します
カウントが最も高いフィールドを返すには、ORDER BY COUNT(*)を使用します。まずテーブルを作成しましょう- mysql> create table DemoTable1940 ( FirstName varchar(20) ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1940 values('Chris'); Quer