thinkphp max方法获取一个int型字段的最大值。我加上where后。发现报错。不知道是否max不支持与where

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了thinkphp max方法获取一个int型字段的最大值。我加上where后。发现报错。不知道是否max不支持与where相关的知识,希望对你有一定的参考价值。

一块用?

M('xxx')->field("max(somefield)")->where(".....")->find();

is this what you want?

参考技术A

不知道你的写法及错误提示是什么?

$User->where('...')->max('...');

本回答被提问者采纳

thinkPHP 如何查询出数据库中id最大的一条数据

统计查询

在应用中我们经常会用到一些统计数据,例如当前所有(或者满足某些条件)的用户数、所有用户的最大积分、用户的平均成绩等等,ThinkPHP为这些统计操作提供了一系列的内置方法,包括:

方法            说明

Count    
统计数量,参数是要统计的字段名(可选)    

Max    
获取最大值,参数是要统计的字段名(必须)    

Min    
获取最小值,参数是要统计的字段名(必须)    

Avg    
获取平均值,参数是要统计的字段名(必须)    

Sum    
获取总分,参数是要统计的字段名(必须)    

用法示例:

获取用户的最大积分:

$maxScore = $User->max(\'score\');
参考技术A

thinkPHP 查询数据库中id最大的一条数据操作如下:

    先给数据库中的这个字段(sort)分组 再降序排列, 取第1条。

    通过步骤1 获取了 sort值为最大的数据, 然后在 通过 where sort ='步骤1取的值'。

    查询最大ID,select max(id) from table。

    查询最大ID的记录 select * from table where id = (select max(id) from table)
    或者select * from table t where  not exists (select 1 from table t1 where t1.id > t.id)

参考技术B $max_id = Db::name('finance')->max('id');//查询最大的id;

用这个id查询这条数据就行了;
参考技术C

    先给数据库中的这个字段(sort)分组 再降序排列, 取1条

    通过步骤1 获取了 sort值为最大的数据, 然后在 通过 where sort ='步骤1取的值'

参考技术D 以id 做倒序desc 排列 。取第一条数据追问

有别的方法吗?,如果我是查的一个字段值最小的话,要是那最小值有两条数据怎么办

追答

不知道你说的什么意思。、

追问

如果我查一个表,表有个字段`sort` 排序, 那我查排序最小的那些数据的话,可能有几个并列的最小,比如说最小`sort`=1; 但是有两条数据sort都等于1,那不是有两条数据了,那如果 以id 做倒序desc 排列 。取第一条数据的话,不就少查了一条数据出来

追答

select * from tbname where sort = 1 order by id desc
加个条件取不就可以了吗?

追问

更头疼的问题来了,表里还有一个字段name(有甲,乙,丙三个人,他们每个人有3条数据,sort可能相同可能不同),如果我是要查这3个人,每个人的数据sort最小的那一条,那怎么破

追答

select * from tbname where name="jia" order by sort desc limit 1
select * from tbname where name="yi" order by sort desc limit 1
select * from tbname where name="bing" order by sort desc limit 1
分别查询 。 THinkphp 可以把 where 写在一个数组里。 $where['name']=array("jia","yi","bing");
where($where)->order('sort desc")->limit(1)->select();

本回答被提问者和网友采纳

以上是关于thinkphp max方法获取一个int型字段的最大值。我加上where后。发现报错。不知道是否max不支持与where的主要内容,如果未能解决你的问题,请参考以下文章

ThinkPHP中的统计查询方法

thinkPHP 如何查询出数据库中id最大的一条数据

thinkphp5一个表里的字段值就是另一个表里的字段值,怎么获取另一个表的字段值呢

ThinkPHP 模型方法 getField() 和 select() 使用技巧

PDO 查询mysql返回字段int变为String型解决方法

方法的重载