php数据库记录排第几 php数据库排序

数据库中某项其中一个值在该项排第几,php+mysql

这个如果想要性能的话,就用下面的sql语句实现:

专注于为中小企业提供网站制作、做网站服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业都兰免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了1000+企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。

select orderNo from (select (@rowNum:=@rowNum+1) orderNo , xuehao,cishu from record,(Select (@rowNum :=0) ) b

order by cishu desc)t where t.xuehao=112

然后php获得这条结果数组,取第一个元素即是排序

如果对这个sql语句有疑问,不明白,可以使用一个比较耗费性能的方法:

select xuehao,cishu from record order by cishu desc

执行这条语句,获得一个数组$res

遍历前设置一个记录排序的标识 $seq=1;

for(...){

$xuehao=$res['xuehao'];//把第seq 个位置的学号拿出来,跟想要的学号比

if($xuehao==112){

break;

}

$seq++;

}

//如果 这个排序标识比结果集数组大小还大,说明没这个学号的记录,否则,就是这个学号打卡次数的排序。

$seq就是排序

PHP 请问mysql如何查询表中某个数据处于该表中的第几列?

mysql中没有类似Oracle中rownum序号的功能,所以查询数据的行序号需要自己实现。

假设问题中数据表的名字为goods,则所需sql语句如下:

SELECT @rownum := @rownum + 1 AS rownum,goods.* FROM ( SELECT @rownum := 0 ) r,goods ORDER BY rownum ASC

上述语句可以获取每条数据的行号并升序排列。

php如何实现分数排名,判断该学生第几名,如图

先根据票数倒序查询票数表,sql语句大概是

"SELECT 学生id,票数 FROM 票数表 ORDER BY 票数 DESC";假设得到的结果集赋值为 $res,

再用PHP遍历,

$student = array();

foreach ($res as $key = $value) {

$student[$value['学生id']] = $key +1;

最后就可以得到student排名数组,键是学生的id,值就是学生的排名。

php问题排序

没大明白什么意思,我理解的是对数据表中的数据进行排序吗,有一个字段记录数据的序号。

两种办法:

第一、修改一个数据的序号时,统一设置序号值(+1或-1根据调整的具体序号来定)推荐使用replace

第二。是我常用的方法,在数据表中加一时间字段,来记录调整序号时的时间。调整序号时,只改变被调整的数据的序号。然后记录时间。读取内容时根据序号,时间排序。order by 序号,date desc


网站名称:php数据库记录排第几 php数据库排序
当前路径:http://scyanting.com/article/hispsg.html