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

MySQLで最初の10件の結果をスキップする方法は?


最初の10件の結果をスキップするには、「限界オフセット」を使用します。構文は次のとおりです-

select *from yourTableName limit 10 offset lastValue;

上記の構文を理解するためのテーブルを作成しましょう。以下は、テーブルを作成するためのクエリです-

mysql> create table SkipFirstTenRecords
   −> (
      −> StudentId int,
      −> StudentName varchar(200)
   −> );
Query OK, 0 rows affected (0.53 sec)

これで、insertコマンドを使用してテーブルにいくつかのレコードを挿入できます。クエリは次のとおりです-

mysql> insert into SkipFirstTenRecords values(100,'John');
Query OK, 1 row affected (0.12 sec)

mysql> insert into SkipFirstTenRecords values(101,'Johnson');
Query OK, 1 row affected (0.14 sec)

mysql> insert into SkipFirstTenRecords values(102,'Carol');
Query OK, 1 row affected (0.10 sec)

mysql> insert into SkipFirstTenRecords values(103,'Smith');
Query OK, 1 row affected (0.32 sec)

mysql> insert into SkipFirstTenRecords values(104,'Bob');
Query OK, 1 row affected (0.14 sec)

mysql> insert into SkipFirstTenRecords values(105,'David');
Query OK, 1 row affected (0.18 sec)

mysql> insert into SkipFirstTenRecords values(106,'Sam');
Query OK, 1 row affected (0.14 sec)

mysql> insert into SkipFirstTenRecords values(107,'Taylor');
Query OK, 1 row affected (0.23 sec)

mysql> insert into SkipFirstTenRecords values(108,'Ramit');
Query OK, 1 row affected (0.16 sec)

mysql> insert into SkipFirstTenRecords values(109,'Belly');
Query OK, 1 row affected (0.18 sec)

mysql> insert into SkipFirstTenRecords values(110,'Aaron ');
Query OK, 1 row affected (0.16 sec)

mysql> insert into SkipFirstTenRecords values(111,'Peter');
Query OK, 1 row affected (0.10 sec)

mysql> insert into SkipFirstTenRecords values(112,'Travis');
Query OK, 1 row affected (0.14 sec)

mysql> insert into SkipFirstTenRecords values(113,'Alex');
Query OK, 1 row affected (0.18 sec)

mysql> insert into SkipFirstTenRecords values(114,'Pat ');
Query OK, 1 row affected (0.11 sec)

Display all records which I have inserted in the table. The query is as follows:

mysql> select *from SkipFirstTenRecords;

以下は出力です-

+-----------+-------------+
| StudentId | StudentName |
+-----------+-------------+
|       100 | John        |
|       101 | Johnson     |
|       102 | Carol       |
|       103 | Smith       |
|       104 | Bob         |
|       105 | David       |
|       106 | Sam         |
|       107 | Taylor      |
|       108 | Ramit       |
|       109 | Belly       |
|       110 | Aaron       |
|       111 | Peter       |
|       112 | Travis      |
|       113 | Alex        |
|       114 | Pat         |
+-----------+-------------+
15 rows in set (0.00 sec)

上記の表から最初の10レコードをスキップするクエリは、すべて次のとおりです-

mysql> select *from SkipFirstTenRecords limit 10 offset 10;

以下は、最初の10レコードをスキップしたため、最後の5レコードのみを表示する出力です-

+-----------+-------------+
| StudentId | StudentName |
+-----------+-------------+
|        110 | Aaron      |
|        111 | Peter      |
|        112 | Travis     |
|        113 | Alex       |
|        114 | Pat        |
+-----------+-------------+
5 rows in set (0.00 sec)

  1. クエリの結果をランダムに並べ替えて、MySQLでランダムな行を選択するにはどうすればよいですか?

    クエリの結果をランダムに並べ替えるには、ORDER BY RAND()を使用します。構文は次のとおりです- select * from DemoTable1559 where yourColumnName IN(yourValue1,yourValue2,....N) order by rand() limit yourLimitValue; まずテーブルを作成しましょう- mysql> create table DemoTable1559    -> (    -> EmployeeId int,    ->

  2. MySQLの結果をマージする方法は?

    マージするには、単純な結合を使用します。以下は構文です- select aliasName1.yourColumnName1, aliasName1.yourColumnName2, . . .N aliasName2.yourColumnName1 from yourTableName1 aliasName1 . . . N join yourTableName2 aliasName2 on yourCondition; テーブルを作成しましょう- mysql> create table demo8 −> ( −> id int, −&