ウェブサイト検索

MySQL の特定の制限を超えて順序付けられたレコードをフェッチする


このために、サブクエリを使用できます。まずテーブルを作成しましょう。

mysql> create table DemoTable618 (
   StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY,StudentFirstName varchar(100)
);
Query OK, 0 rows affected (1.45 sec)

insert コマンドを使用してテーブルにいくつかのレコードを挿入します。

mysql> insert into DemoTable618(StudentFirstName) values('David');
Query OK, 1 row affected (0.23 sec)
mysql> insert into DemoTable618(StudentFirstName) values('Chris');
Query OK, 1 row affected (0.44 sec)
mysql> insert into DemoTable618(StudentFirstName) values('Robert');
Query OK, 1 row affected (0.54 sec)
mysql> insert into DemoTable618(StudentFirstName) values('Sam');
Query OK, 1 row affected (0.24 sec)
mysql> insert into DemoTable618(StudentFirstName) values('Mike');
Query OK, 1 row affected (0.22 sec)
mysql> insert into DemoTable618(StudentFirstName) values('Carol');
Query OK, 1 row affected (0.28 sec)
mysql> insert into DemoTable618(StudentFirstName) values('Bob');
Query OK, 1 row affected (3.66 sec)
mysql> insert into DemoTable618(StudentFirstName) values('John');
Query OK, 1 row affected (0.17 sec)

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

mysql> select *from DemoTable618;

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

+-----------+------------------+
| StudentId | StudentFirstName |
+-----------+------------------+
|         1 | David            |
|         2 | Chris            |
|         3 | Robert           |
|         4 | Sam              |
|         5 | Mike             |
|         6 | Carol            |
|         7 | Bob              |
|         8 | John             |
+-----------+------------------+
8 rows in set (0.00 sec)

特定の制限を超えた後に順序付けられたレコードを取得するクエリは次のとおりです。

mysql> select *from (select StudentId,StudentFirstName from DemoTable618 where StudentId >= 5 order by StudentId limit 4) tbl order by tbl.StudentId desc;

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

+-----------+------------------+
| StudentId | StudentFirstName |
+-----------+------------------+
|         8 | John             |
|         7 | Bob              |
|         6 | Carol            |
|         5 | Mike             |
+-----------+------------------+
4 rows in set (0.00 sec)

関連記事: