新网创想网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
统计查询
同安ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联建站的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18980820575(备注:SSL证书合作)期待与您的合作!
在应用中我们经常会用到一些统计数据,例如当前所有(或者满足某些条件)的用户数、所有用户的最大积分、用户的平均成绩等等,ThinkPHP为这些统计操作提供了一系列的内置方法,包括:
方法 说明
Count
统计数量,参数是要统计的字段名(可选)
Max
获取最大值,参数是要统计的字段名(必须)
Min
获取最小值,参数是要统计的字段名(必须)
Avg
获取平均值,参数是要统计的字段名(必须)
Sum
获取总分,参数是要统计的字段名(必须)
用法示例:
获取用户的最大积分:
$maxScore = $User-max('score');
把DESC去掉试试,比较一下去掉前结果如何,按照道理来说,有了DESC就是倒序啊,得到的第一个ID也应该是16,第二个15,第三个……也不知PindaoModel::model()-findAll这个方法是怎么写的,能贴出来的话更好
SELECT id FROM table ORDER BY id DESC,这样看到读出来的第一个id就是最大id
希望对你有帮助,更多的sql语句,可以参考这篇文章,希望对你有帮助
例如,数据表t_toy_user表中有字段user_id(主键),user_name,desc三个字段,则查询从10到100的记录如下:
access数据库和sqlserver数据库:
select
user_id,user_name,desc
from
(select
top
100
user_id,user_name,desc,row_number()
over(order
by
user_id)
as
rowindex
from
t_toy_user)
t
where
t.rowindex=10
oracle数据库:
select
user_id,user_name,desc
from
(select
user_id,user_name,desc,row_number()
over(order
by
user_id)
as
rowindex
from
t_toy_user
where
rownum=100)
t
where
t.rowindex=10
以上若有疑问,可以hi我~
?php
//连接数据库
$myconn=mysql_connect("localhost","root","");
mysql_select_db("nowamagic",$myconn);
$strSql="
select article_ID
from article
where article_ID=(select max(article_ID)
from article)
";
$strSql2="
select article_ID
from article
where article_ID=(select min(article_ID)
from article)
";
$result=mysql_query($strSql,$myconn) or die(mysql_error());
$result2=mysql_query($strSql2,$myconn) or die(mysql_error());
$row_max=mysql_fetch_array($result);
$row_min=mysql_fetch_array($result2);
// 输出ID最大值
//echo $row_max["article_ID"];
//echo "
";
// 输出ID最小值
//echo $row_min["article_ID"];
$article_count = $row_max["article_ID"] - $row_min["article_ID"];
?
我是这样做的测试:
create table music(
id varchar(10),
title varchar(100),
name varchar(10)
);
insert into music values('2','离别','12354');
insert into music values('15','朋友','5454');
insert into music values('161','送别','4668');
?php
$conn=mysql_connect("localhost:3307","数据库用户名","数据库密码");
mysql_select_db("date");
$result=mysql_query("select max(id+0) max_id from music",$conn);
$field=mysql_fetch_row($result);
print_r($field);
?
结果:Array ( [0] = 161 )
因为mysql中varchar不能用max()所以通过id+0来转换id类型从而解决这个问题 ,如果你建表时id是整数型的就可以直接用max()了。详细解释见:。