Maison >développement back-end >tutoriel php >请教个mysql问题.关于获取查询结果中某一个字段的最大值(按照其他字段排序)
每次求助这样的问题都蛮不好意思的... 不过经常来不及去查手册找办法... 只好再伸下手...
问题是这样的. 进行一个常规的查询,按字段a进行倒序排列. 但是又想获得这次查询中字段b的最大值
php好像没有提供直接获取多维数组最大键值的函数.. 要自己写排序也不是不可以 但是还是想问下 在mysql这边能否直接查出来(并且不能有太多的性能损失 否则不如去用php计算了)
谢谢
mysql 提供有 max 函数,不过这是聚类函数,不大适合你的场景
取出数据时不是要有一个循环吗?在循环里顺带做了(用 max 函数)不就可以了吗?
mysql 提供有 max 函数,不过这是聚类函数,不大适合你的场景
取出数据时不是要有一个循环吗?在循环里顺带做了(用 max 函数)不就可以了吗?
恩,如果mysql这边不方便的话 那还是用php计算吧 目前我把字段b的值都提取到一个数组中然后arsort()然后取第一个
$m = 0;
while($row = mysql_assoc($rs)) {
$res[] = $row; //这是通常的数据接收
$m = max($m, $row['b']); //顺便计算一下 b 列的最大值
}
?
搭车问个问题,mysql查询的时候,多个where条件 它们的排序是否会影响到查询效率?
假设有一百万条记录
把id>500000 and b字段 "" 两个条件互换位置,效率会变化吗?
有无索引很关键