sql语句? 类似 pageSize 查询记录数 curPage 当前页数 tableName 表名 id 主键字段 select top pageSize * from tableName where id not in (select top (pageSize*(curPage-1)) id from tableName)
下面是一个分页的方法,仅供参考:/** * 执行Oracle分页 * 在页面中引用<%@include file="page.jsp" %>即可 * @param sql * 传入的sql语句 * @param request * 传入的request *@param pagesize *传入分页大小如默认10条每页 * @return * 返回数据集List结果,每条记录以Map存储(key,value)key为数据库表中字段名,均小写 */ public List getOraclePageList(String sql, HttpServletRequest request, int pagesize) { Page page = new Page(); if (pagesize!=-1) page.setPagesize(pagesize); page.setRscount(executeCount(sql)); page.execute(request);//生成分页工具条pagetool String newsql = "Select * from (Select t.*,rownum rn from (" + sql + " ) t where " + "rownum <= " + page.getPagesize() + "*" + page.getCurrentpage() + ")" + " t where t.rn >=(" + page.getCurrentpage() + "-1)* " + page.getPagesize() + "+1"; List list = executeQuery(newsql); return list; }
朋友我想要个MYSQL的 能给个吗 谢谢
朋友我想要个mysql的 能帮帮我吗 谢谢了
select * from 表名 where 条件 limit 11,10表示按条件取表中第11-20的记录, 起始行是11,取的记录数是10条 这是mysql的分页 楼上的楼上的楼上,rownum是oracle的关键字吧,别的数据库不支持 mysql是用limit关键字,sqlserver是用的top关键字
类似
pageSize 查询记录数
curPage 当前页数
tableName 表名
id 主键字段
select top pageSize * from tableName where id not in (select top (pageSize*(curPage-1)) id from tableName)
* 执行Oracle分页
* 在页面中引用<%@include file="page.jsp" %>即可
* @param sql
* 传入的sql语句
* @param request
* 传入的request
*@param pagesize
*传入分页大小如默认10条每页
* @return
* 返回数据集List结果,每条记录以Map存储(key,value)key为数据库表中字段名,均小写
*/
public List getOraclePageList(String sql, HttpServletRequest request, int pagesize) {
Page page = new Page();
if (pagesize!=-1)
page.setPagesize(pagesize);
page.setRscount(executeCount(sql));
page.execute(request);//生成分页工具条pagetool
String newsql = "Select * from (Select t.*,rownum rn from (" + sql
+ " ) t where " + "rownum <= " + page.getPagesize() + "*" + page.getCurrentpage()
+ ")" + " t where t.rn >=(" + page.getCurrentpage() + "-1)* " + page.getPagesize()
+ "+1";
List list = executeQuery(newsql);
return list;
}
起始行是11,取的记录数是10条
这是mysql的分页
楼上的楼上的楼上,rownum是oracle的关键字吧,别的数据库不支持
mysql是用limit关键字,sqlserver是用的top关键字
q.setFirstResult(startrow);
q.setMaxResult(pagesize);
q.list();你不防试试1000万数据时,使用select * from table limit startrow,pagesize
看看会是什么情况
/**
* @分页查找宠物新闻
* @param page 查找第几页
* @param size 每页多少条记录
* @return
*/
public List<News> getNewsByPageAndSize(int page, int size) {
List ns = new ArrayList();
String sql = "select * from news order by date desc limit ?,? ";
List ps = new ArrayList();
ps.add((page-1)*size);
ps.add(size);
ResultSet rs = dao.getResultSet(sql, ps);
try {
while (rs.next()) {
News n = new News();
n.setId(rs.getInt("id"));
n.setContents("contents");
n.setDate(rs.getDate("date"));
n.setTitle(rs.getString("title"));
ns.add(n);
}
} catch (SQLException e) {
e.printStackTrace();
}
return ns;
}
多了个order 失误!