PHP+MYSQL查询结果上加一个排名序号且分页不间断
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP+MYSQL查询结果上加一个排名序号且分页不间断相关的知识,希望对你有一定的参考价值。
数据表a中有b(排名指数)、c(好评数)两个字段,要实现:以b(排名指数)字段的数字从大到小排序,并且增加一个查询结果排名序号,且每页显示2条,分页后排名序号不间断!如图所示:图1是第一页,显示1、2,图二的排名要显示 3 ,但是显示的又是1,在翻页时,排名中断了,怎么解决呢?
参考技术A 翻页的时候 把页码传过去 然后根据页码直接把排名算出来比如 第二页 page=2 然后一页两条 startrow = (2页* -1)*2 +1 = 3
输出的时候直接从3开始本回答被提问者和网友采纳 参考技术B 貌似翻页时是在SQL语句中重新查询得出的结果,那么借助页码那组变量来计算就是。 参考技术C 直接在数据库添加一个这样的字段就好了
问一个sql查询,如何给查询结果加上序号
SQL Server 下
SELECT ROW_NUMBER() OVER(ORDER BY ID) ROWNU,A1 FROM TA1解说:在这里,TA1是一个表,A1是表中的一个字段,表的另一个字段为ID本用于自增这儿用来排序。
SQL Server 中的 ROW_NUMBER() 得到一个查询出的顺序,但这个函数要求给出一个查的排序方案,因为SQL Server的存储是无关顺序的。
在Oracle里,本就有rownum。可直接用:
SELECT rownum,A1 FROM TA1其它的数据库可能有别的方案,不一而论。
参考技术ASQL Server 下
1、SELECT ROW_NUMBER() OVER(ORDER BY ID) ROWNU,A1 FROM TA1
解说:在这里,TA1是一个表,A1是表中的一个字段,表的另一个字段为ID本用于自增这儿用来排序。
SQL Server 中的 ROW_NUMBER() 得到一个查询出的顺序,但这个函数要求给出一个查的排序方案,因为SQL Server的存储是无关顺序的。
在Oracle里,本就有rownum。可直接用:
1、SELECT rownum,A1 FROM TA1
其它的数据库可能有别的方案,不一而论。
参考资料
百度.百度[引用时间2018-1-4]
参考技术B oracle 有rownum 其它数据我不清楚以上是关于PHP+MYSQL查询结果上加一个排名序号且分页不间断的主要内容,如果未能解决你的问题,请参考以下文章