私はいくつかのページングを行っており、いくつかのクエリを作成し、スライスを定義した結果フォームを取得する必要があります。たとえば、20n <x <40nなどの範囲のすべての「トップ」行を取得する必要があります。
SELECT * FROM Reflow
WHERE ReflowProcessID = somenumber
ORDER BY ID DESC;
そして今、私はIDと呼ばれる列でスライドさせる必要があります。
どのように提案しますか? mysql、mssql、およびOracleでクエリを実行する必要があります。
ページサイズが20レコードで、ページ番号2を取得したいと仮定すると、次のようになります。
SQL Server、Oracle:
SELECT * -- <-- pick any columns here from your table, if you wanna exclude the RowNumber
FROM (SELECT ROW_NUMBER OVER(ORDER BY ID DESC) RowNumber, *
FROM Reflow
WHERE ReflowProcessID = somenumber) t
WHERE RowNumber >= 20 AND RowNumber <= 40
MySQL:
SELECT *
FROM Reflow
WHERE ReflowProcessID = somenumber
ORDER BY ID DESC
LIMIT 20 OFFSET 20
MySqlでは、次を使用して行20から10行を取得できます。
SELECT * FROM Reflow
WHERE ReflowProcessID = somenumber
ORDER BY ID DESC
LIMIT 10 OFFSET 20 --Equivalent to LIMIT 20, 10
select * from table_name LIMIT 100
これはMYSQLでのみ機能することを忘れないでください