请问在oracle中如何实现效果就像在SQL Server中"select top " + pageSize + " * from tb_user where id not in (select top " + curPage*pageSize + " id from tb_user) and units_id=1"这个就能取出符合条件的前pageSize条信息(pageSize每页显示条数,curPage当前页数)
麻烦谁能帮我写个例子吗?谢谢了
麻烦谁能帮我写个例子吗?谢谢了
String baseSql;
baseSql = "select * from " + baseTable;
//判断附加条件是否为空,如果不为空就添加
if (!CharSet.nullToEmpty(whereLimit).equals("")) {
baseSql += " where " + whereLimit;
} //初始的记录号, 加1,因为在写sql时,条件写成rownum<startRow, 例如开始是20, 就必须写成rownum<21
startRow = pageSize * (pageNo - 1) + 1;
//做个过滤
startRow = (startRow < 0) ? 0 : startRow; //接着设定结束的记录号
endRow = startRow + pageSize; //接着,拼接sql语句
String sql = "select * from (" + baseSql + ") where rownum < " + endRow
+ " minus " + "select * from (" + baseSql + ") where rownum < "
+ startRow;
//最后,加上排序orderBy
if (!CharSet.nullToEmpty(orderBy).equals("")) {
sql = "select * from (" + sql + ") order by " + orderBy;
}
return sql;
}参考一下吧!把你的SQL 带进去,就可以了。