DBからページ単位の結果にアクセスしようとしています。以下のクエリ次のとおりです。hereからoracle sql全ページまたは合計エントリのページ番号
SELECT * FROM
(
SELECT a.*, rownum r__
FROM
(
SELECT * FROM ORDERS WHERE CustomerID LIKE 'A%'
ORDER BY OrderDate DESC, ShippingDate DESC
) a
WHERE rownum < ((pageNumber * pageSize) + 1)
)
WHERE r__ >= (((pageNumber-1) * pageSize) + 1)
、私はページネーションを達成することができています。
私は同様に全カウントを取得するためにinorderを以下のようにクエリを変更:
SELECT * FROM
(
SELECT a.*, rownum r__ , count(OrderDate)
FROM
(
SELECT * FROM ORDERS WHERE CustomerID LIKE 'A%'
ORDER BY OrderDate DESC, ShippingDate DESC
) a group by OrderDate
)
WHERE r__ between (pageNumber * pageSize)+ 1 and (pageNumber *pageSize) + pageSize;
をしかし、要求されたページは同様に、最後のページであれば、私はまた、総ページ数を計算したいと。私は内部クエリのCOUNT
を取得しようとしましたので、私のコード内の合計ページを計算することができますが、取得できませんでした。私はCOUNT(ORDERDATE)
とグループ分けで試しましたが、うまくいきません。
どうすればいいか教えてください。
素晴らしい!これは期待どおりに動作し、また私に合計ページを与えます。ありがとうございます:) – v1shnu