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> insert into DemoTable1594 values(76); Query OK, 1 row affected (0.15 sec) mysql> insert into DemoTable1594 values(95); Query OK, 1 row affected (0.16 sec) mysql> insert into DemoTable1594 values(56); Query OK, 1 row affected (0.13 sec) mysql> insert into DemoTable1594 values(96); Query OK, 1 row affected (0.16 sec) mysql> insert into DemoTable1594 values(89); Query OK, 1 row affected (0.19 sec)
selectステートメントを使用してテーブルのすべてのレコードを表示する-
mysql> select * from DemoTable1594;
これにより、次の出力が生成されます-
+-------+ | Marks | +-------+ | 76 | | 95 | | 56 | | 96 | | 89 | +-------+ 5 rows in set (0.00 sec)
n番目に高い値を選択するためのクエリは次のとおりです-
mysql> select distinct(Marks) from DemoTable1594 order by Marks DESC limit 2,1;
これにより、次の出力が生成されます-
+-------+ | Marks | +-------+ | 89 | +-------+ 1 row in set (0.00 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
-
MySQLで最高の給与を選択しますか?
これには、MAX()を使用できます。構文は次のとおりです- select MAX(yourColumnName) AS anyAliasName from yourTableName; テーブルを作成しましょう- mysql> create table demo44 −> ( −> employee_id int not null auto_increment primary key, −> employee_name varchar(20), −> employee_salary int −>