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

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


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

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

挿入コマンド-

を使用して、テーブルにいくつかのレコードを挿入します
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)

  1. MySQLは特定の月と年に基づいてレコードをフェッチしますか?

    これには、MONTH()とYEAR()を使用します。まずテーブルを作成しましょう- mysql> create table DemoTable1846      (      PurchaseDate date      ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1846 values('2019-01-10');

  2. MySQL REGEXPは、特定の数値で始まる文字列+数値レコードをフェッチしますか?

    これには、REGEXPを使用して、特定の番号で始まるレコードをフェッチします。構文は次のとおりです。 Select yourColumnName1,yourColumnName2 from yourTableName where yourColumnName2 REGEXP '^yourStringValue[yourNumericValue]'; テーブルを作成しましょう- mysql> create table demo45 -> ( −> id int not null auto_increment primary key, −