select * from table limit m,n
m——是指记录的起始位置,从0开始,表示第一条记录。
n——是指从第m+1条开始,取n条。
select * from tablename limit 2,4
即取出第3条至第6条,4条记录
PS:Oracle没有LIMIT,要用rownum,不然会报错SQL命令未正确结束。
sql="select * from t_customer order by name limit ?,?";
Object[] params={(page-1)*limit+1,limit};
List<Customer> beanList=qr.query(con, sql, new BeanListHandler<>(Customer.class), params);
Caused by: java.lang.RuntimeException: java.sql.SQLException: ORA-00933: SQL 命令未正确结束
Query: select * from t_customer order by name limit ?,? Parameters: [1, 10]
at dao.CustomerDao.findAll(CustomerDao.java:129)
at service.CustomerService.findAll(CustomerService.java:27)
at servlet.CustomerServlet.findAll(CustomerServlet.java:61)
... 18 more
本文详细解析了SQL中LIMIT关键字的用法,包括如何指定记录的起始位置和数量,以及在不同数据库如MySQL和Oracle中的实现差异。通过具体示例说明了LIMIT在分页查询中的应用,并提到了Oracle中使用ROWNUM代替LIMIT的方法。
575

被折叠的 条评论
为什么被折叠?



