MySQL Selectで列の値を2回表示しますか?
concat()を使用できます。まずテーブルを作成しましょう-
mysql> create table DemoTable ( Value int ); Query OK, 0 rows affected (0.73 sec)
挿入コマンド-
を使用して、テーブルにいくつかのレコードを挿入しますmysql> insert into DemoTable values(100); Query OK, 1 row affected (0.18 sec) mysql> insert into DemoTable values(200); Query OK, 1 row affected (0.08 sec) mysql> insert into DemoTable values(100); Query OK, 1 row affected (0.11 sec) mysql> insert into DemoTable values(200); Query OK, 1 row affected (0.10 sec) mysql> insert into DemoTable values(200); Query OK, 1 row affected (0.11 sec) mysql> insert into DemoTable values(100); Query OK, 1 row affected (0.30 sec)
selectステートメントを使用してテーブルのすべてのレコードを表示する-
mysql> select *from DemoTable;
これにより、次の出力が生成されます-
+-------+ | Value | +-------+ | 100 | | 200 | | 100 | | 200 | | 200 | | 100 | +-------+ 6 rows in set (0.00 sec)
以下は、MySQLで列の値を2回表示するためのクエリです-
mysql> select concat(Value,'~',Value) from DemoTable group by Value;
これにより、次の出力が生成されます-
+-------------------------+ | concat(Value,'~',Value) | +-------------------------+ | 100~100 | | 200~200 | +-------------------------+ 2 rows in set (0.00 sec)
-
MySQLでn番目に高い値を選択します
MySQLでn番目に高い値を選択するには、次の構文を使用します- select distinct(yourColumnName) from yourTableName order by yourColumnName DESC limit (NthValue-1),1; まずテーブルを作成しましょう- mysql> create table DemoTable1594 -> ( -> Marks int -> ); Query OK, 0 rows affected (0.49 sec) 挿
-
MySQLで選択した値が「0」の場合は別の列から選択しますか?
これには、MySQLでIF()を使用します。構文は次のとおりです- select IF(yourColumnName1=0,yourColumnName2,yourColumnName1) as anyAliasName from yourTableName; テーブルを作成しましょう- mysql> create table demo30 −> ( −> id int not null auto_increment primary key, −> value int, −> original_value int