我的数据库表中有超过500行,具有特定日期.
查询具有特定日期的行.
select * from msgtable where cdate='18/07/2012'
Run Code Online (Sandbox Code Playgroud)
这将返回500行.
如何逐步查询这500行×10行.查询前10行并在浏览器中显示,然后查询下10行并在浏览器中显示?
Pra*_*man 54
只需使用该LIMIT条款.
SELECT * FROM `msgtable` WHERE `cdate`='18/07/2012' LIMIT 10
Run Code Online (Sandbox Code Playgroud)
从下一个电话中你可以这样做:
SELECT * FROM `msgtable` WHERE `cdate`='18/07/2012' LIMIT 10 OFFSET 10
Run Code Online (Sandbox Code Playgroud)
更多的信息OFFSET,并LIMIT在LIMIT和OFFSET.
Erw*_*ter 11
LIMIT limit OFFSET offset 将工作.
但是你需要一个稳定的ORDER BY子句,或者对于下一次调用可能会以不同的方式排序值(例如,在对表进行任何写操作之后).
SELECT *
FROM msgtable
WHERE cdate = '2012-07-18'
ORDER BY msgtable_id -- or whatever is stable
LIMIT 10
OFFSET 50; -- to skip to page 6
使用符合标准的日期样式(在我的示例中为ISO 8601),无论您的语言环境设置如何,它都可以使用.
如果在相关列中插入或删除或更改涉及的行,则分页仍将移位.它必须.
为避免这种转变或使用大表更好的性能,请使用更智能的分页策略:
| 归档时间: |
|
| 查看次数: |
114223 次 |
| 最近记录: |