MIS システムや Web アプリケーションなどのシステムを作成するときは、すべてデータベースとの対話が必要になります。データベース内のデータ量が多い場合、すべてのレコードを一度に取得すると多くのシステム リソースが占有されるため、Only を使用することがよくあります。データがある限りデータベースからレコードを取得します。つまり、ページング ステートメントを使用します。私が使用したものに基づいて、一般的なデータベース SQL Server、Oracle、および MySQL のページング ステートメントを次のように要約します。
SQL Server
データベース テーブルから、Top キーワードを使用して、M 番目のレコードから始まる N レコードを取得します。 Select ステートメントに top と order by の両方がある場合、ソートされた結果セットから選択されます:
SELECT *
FROM ( SELECT Top N *
FROM (SELECT Top (M + N - 1) * FROM table name Order by主キー desc) t1 ) t2
主キー asc で並べる
例:
select * from ( select TOP pagesize * FROM ( SELECT TOP pagesize*cureentpage * from user_table ORDER BY id ASC ) as aSysTable ORDER BY id DESC ) as bSysTable ORDER BY id ASC
例えば、テーブル Sys_option (主キーは sys_id) から 10 レコードを取得するか、20 レコードを取得するか、文は次のようになります。
SELECT *
FROM ( SELECT TOP 20 * FROM ELECT ROWNUM r,t1. * テーブル名 t1 where rownum
例えば、テーブル Sys_option (主キーは sys_id) から 10 レコードを取得するか、20 レコードを取得するか、ステートメントは次のようになります:
SELECT * FROM (SELECT ROWNUM R,t1.* From Sys_option where rownum Where t2.R >= 10
MySQLデータベース
私のSQLデータベースはmysqlのLIMITを使用した最も単純です関数、LIMIT [offset,] rows、データベーステーブル内のMレコードからNレコードを取得するステートメントは次のとおりです:
SELECT * FROMテーブル名LIMIT M,N
例えばテーブルSys_option(主キーはsys_id)から、10 レコードから、または 20 レコードを取得するには、ステートメントは次のとおりです:
select * from sys_option limit 10,20
http://www.bkjia.com/PHPjc/319685.html
www.bkjia.com
true
http://www.bkjia.com/PHPjc/319685.html