博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ThinkPHP 统计查询
阅读量:7000 次
发布时间:2019-06-27

本文共 1357 字,大约阅读时间需要 4 分钟。

hot3.png

统计查询

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

  1. :统计数据行数
  2. :统计某个字段最大数据
  3. :统计某个字段最小数据
  4. :统计某个字段平均数据
  5. :统计某个字段数据之和

上述统计查询方法都是独立的方法且支持连贯操作。

count()

count() 方法用于统计数据行数。

例子:

public function read(){    $Dao = M('User');    // 获取用户数:    $userCount = $Dao->count();    // 添加条件:    $userCount2 = $Dao->where('uid > 10')->count();    $this->assign('userCount', $userCount);    $this->display();}

上例中,两个查询语句实际执行的 SQL 为:

SELECT COUNT(*) AS tp_count FROM user LIMIT 1 SELECT COUNT(*) AS tp_count FROM user WHERE uid > 10 LIMIT 1

可以在模板中直接输出得到的统计数据:

共有用户 {$userCount} 人。

max()

max() 方法用于统计某个字段最大数据。

统计用户最大积分例子:

$maxScore = $Dao->max('score');

实际执行的 SQL 为:

SELECT MAX(score) AS tp_max FROM user LIMIT 1

min()

min() 统计某个字段最小数据。

获取积分大于 0 的用户的最小积分例子:

$minScore = $Dao->where('score>0')->min('score');

实际执行的 SQL 为:

实际执行SQL:SELECT MIN(score) AS tp_min FROM user WHERE score>0 LIMIT 1

avg()

avg() 统计某个字段平均数据。

获取用户的平均积分例子:

$avgScore = $Dao->avg('score');

实际执行的 SQL 为:

SELECT AVG(score) AS tp_avg FROM user LIMIT 1

sum()

sum() 统计某个字段数据之和。

统计积分排名前 10 名用户的积分之和:

$sumScore = $Dao->order('score DESC')->limit('10')->avg('score');

实际执行的 SQL 为:

SELECT SUM(score) AS tp_sum FROM user ORDER BY score DESC LIMIT 1

所有的统计查询如 select() 方法一样。均支持连贯操作的使用,根据实际情况添加不同的查询条件。

参考阅读

  1. 《》系列教程
  2. ThinkPHP Where 条件
  3. ThinkPHP 连贯操作

转载于:https://my.oschina.net/wxweven/blog/56933

你可能感兴趣的文章
OCR 基本知识
查看>>
Oracle中对数字加汉字的排序(完好)
查看>>
linux kvm虚拟机使用
查看>>
leetcode笔记:Bulls and Cows
查看>>
Redis具体解释
查看>>
如何编写更好的SQL查询:终极指南-第一部分
查看>>
如何使用RestTemplate访问restful服务
查看>>
thinkphp中cookie和session中操作数组的方法
查看>>
linux内核剖析(十一)进程间通信之-共享内存Shared Memory
查看>>
rman备份OBSOLETE和EXPIRED参数来历及区别
查看>>
离线安装Cloudera Manager 5和CDH5(最新版5.9.3) 完全教程(五)数据库安装(双节点)...
查看>>
NewLife.Redis基础教程
查看>>
BlockingQueue(阻塞队列)详解
查看>>
微信小程序 - setData:key的几种用法
查看>>
Hystrix快速入门
查看>>
axios请求,拦截器的使用
查看>>
十大励志电影
查看>>
在Sql语句中使用正则表达式来查找你所要的字符
查看>>
18种最实用的网站推广方法大全
查看>>
浅谈C/C++中的typedef和#define
查看>>