我正在執行查詢時添加「DB分頁」,而不是在爲用戶提供結果時添加任務。 問題是每個數據庫引擎都有自己的SQL方法,用於從整個集合中減去一組結果。更精確地說,如果一個人想結果ň到N + d使用:Java SQL [限制| rownum ...]統一化API
mysql ---> select X from Y where Z limit N, d
oracle --> select * (select X, ROW_NUMBER() OVER (ORDER BY Y.colName) from Y where Z) WHERE R BETWEEN N and N+d
現在我們提供的Oracle & MySQL的支持,但一個永遠無法知道客戶端的請求,所以我想因此我正在尋找一個提供如下功能的庫:
qWithSubset = performLimitationOverQuery(qNoSubset, offset, amount, sortOnSet)
任何建議都是值得歡迎的。謝謝。
可能的重複[是否有一種可移植的方式來「選擇第一個10 *從T」語義?](http://stackoverflow.com/questions/3400589/is-there-a-portable-way-to-有選擇第一10從T語義) – BalusC
@Icarus鑑於它被標記爲Java,我猜不是。 –
@DaveNewton哈哈哈我猜測,不是......我沒注意java標籤。 – Icarus