MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQLクエリを使用してテーブルの2番目の最大値を見つけますか?


LIMIT 1OFFSET1を使用できます。最初にテーブルを作成しましょう-

mysql> create table DemoTable
   -> (
   -> Value int
   -> );
Query OK, 0 rows affected (0.92 sec)

挿入コマンド-

を使用して、テーブルにいくつかのレコードを挿入します
mysql> insert into DemoTable values(1);
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable values(2);
Query OK, 1 row affected (0.23 sec)
mysql> insert into DemoTable values(4);
Query OK, 1 row affected (0.22 sec)
mysql> insert into DemoTable values(204);
Query OK, 1 row affected (0.18 sec)
mysql> insert into DemoTable values(5);
Query OK, 1 row affected (0.76 sec)

selectステートメントを使用してテーブルのすべてのレコードを表示する-

mysql> select *from DemoTable;

これにより、次の出力が生成されます-

+-------+
| Value |
+-------+
|     1 |
|     2 |
|     4 |
|   204 |
|     5 |
+-------+
5 rows in set (0.00 sec)

これは、テーブル内の2番目の最大値を見つけるためのクエリです-

mysql> select *from DemoTable order by Value desc limit 1 offset 1;

これにより、次の出力が生成されます-

+-------+
| Value |
+-------+
|     5 |
+-------+
1 row in set (0.00 sec)

  1. テーブル名として「group」を使用しているときのMySQL構文エラー(SELECTクエリ内)

    グループは予約済みのキーワードであるため、テーブル名として使用することはできません。したがって、テーブル名として使用するとエラーが発生します。このようなエラーを回避するには、テーブル名「group」の前後に囲まれたバッククォート記号を使用する必要があります。 例を見て、テーブルを作成しましょう- mysql> create table `group`    -> (    -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,    -> Name varchar(20)

  2. 別のテーブルの値を使用したINSERTINTOのMySQLクエリ?

    これには、INSERTINTOSELECTステートメントを使用します。 テーブルを作成しましょう- 例 mysql> create table demo82    -> (    -> id int,    -> name varchar(20)    -> ); Query OK, 0 rows affected (2.06 挿入コマンド-を使用して、いくつかのレコードをテーブルに挿入します。 例 mysql> insert into demo82 values(100,&