mysql排序分页
mysql分页原理?
mysql分页原理?
mysql分页原理
假设数据库表student存在13条数据。
语句1:select * from student limit 9,4
语句2:slect * from student limit 4 offset 9
// 语句1和2均返回表student的第10、11、12、13行
//语句1中的4表示返回4行,9表示从表的第十行开始
//语句2中的4表示返回4行,9表示从表的第十行开始
通过limit和offset 或只通过limit可以实现分页功能
假设
numberperpage 表示每页要显示的条数
pagenumber表示页码
那么 返回第pagenumber页,每页条数为numberperpage的sql语句写法为
语句3:select * from studnet limit (pagenumber-1)*numberperpage,numberperpage
语句4:select * from student limit numberperpage offset (pagenumber-1)*numberperpage
MySQL select 排序规则?
1、单列排序
SELECT * FROM test1 ORDER BY date_time
默认升序,降序后面接#34DESC#34即可。
2、多列排序
SELECT * FROM test1 ORDER BY `status`, date_time DESC
3、自定义排序
SELECT * FROM test1 ORDER BY FIELD(`status`, 3, 2, 4, 1, 5), date_time DESC
使用#34FIELD()#34函数,可指定顺序。
4、其他条件排序
先按大于等于当前时间升序,再按小于当前时间降序,支持分页。
SELECT * FROM test1 ORDER BY date_time lt NOW(), IF(date_time lt NOW(), 0, date_time), date_time DESC