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)
-
クエリの結果をランダムに並べ替えて、MySQLでランダムな行を選択するにはどうすればよいですか?
クエリの結果をランダムに並べ替えるには、ORDER BY RAND()を使用します。構文は次のとおりです- select * from DemoTable1559 where yourColumnName IN(yourValue1,yourValue2,....N) order by rand() limit yourLimitValue; まずテーブルを作成しましょう- mysql> create table DemoTable1559 -> ( -> EmployeeId int, ->
-
MySQLの結果をマージする方法は?
マージするには、単純な結合を使用します。以下は構文です- select aliasName1.yourColumnName1, aliasName1.yourColumnName2, . . .N aliasName2.yourColumnName1 from yourTableName1 aliasName1 . . . N join yourTableName2 aliasName2 on yourCondition; テーブルを作成しましょう- mysql> create table demo8 −> ( −> id int, −&