ThinkPHP
聚合查询
1.使用count()方法,可以求出所查询数据的数量
1 | $result=Db::name('student')->count(); |
2.count()可以指定id,比如有空值的ssex,不会计算数量1
2$result=Db::name('student')->count('ssex');
return $result;
3.使用max()方法,求出所查询数据字段的最大值1
2$result=Db::name('student')->max('sage');
return $result;
4.min()方法与max()一样1
2$result=Db::name('student')->min('sage');
return $result;
5.使用avg()方法,求平均值1
2$result=Db::name('student')->avg('sage');
return $result;
6.使用sum()方法,求总和1
2$result=Db::name('student')->sum('sage');
return $result;
子查询
1.使用fetchSql()方法,可以设置不执行SQL,而返回SQL语句,默认true1
2$result=Db::name('student')->fetchSql()->select();
return $result;
运行结果1
SELECT * FROM `student`
2.使用buidSql()方法,也是返回SQL语句,但是不需要执行select()1
2$result=Db::name('student')->buildSql();
return $result;
运行结果1
( SELECT * FROM `student` )
3.闭包方式执行子查询1
2
3
4$result=Db::name('one')->where('id','in',function ($query){
$query->name('two')->field('uid')->where('gender','男');
})->select();
return $result;
原生查询
1.使用query()方法,进行原生SQL查询,适用于读取操作,SQL错误返回false1
2$result=Db::query('select * from student');
return json($result);
2.使用execute()方法,进行原生SQL更新写入等,SQL错误返回false1
2$result=Db::execute('update student set sname="硬币哥" where sno=18008001');
return json($result);