我们通过前面的教程已经对Jsnpp框架的数据库操作有了一定程度的了解和熟悉了,这篇我们进一步来介绍Jsnpp数据库的聚合查询。
当我们需要获得一些统计数据的时候,我们就会用到聚合查询。例如,通过下面的查询语句可以获得记录的总数:
$this->app->db->table('users')->box('count')->count()->finish();
以上代码也是全链语句,全链语句的特征您应该能够很容易辨别了。这里使用“->count()”对表“users”进行统计记录总数,并且把统计结果放入盒子“count”。
这里的结果集是一个整数,也就是说放入盒子的只是一个数字,例如找到一个的话,那么盒子的内容就是“1”。
我们再举个例子,如果要获取某个字段的最大值,那么可以使用下面的语句:
$this->app->db->table('users')->box('age')->max('age')->finish();
上面语句里面我们用“->max('age')”来获取表“users”里面字段“age”的最大值,“->max('age')”里面的“age”就是字段名。最后我们把查询结果放入盒子“age”,这里的结果集是最大值那个字段的值。
我们观察上面两处代码,可以发现Jsnpp框架的聚合查询的语句实际是差不多的,下面这个语句只是把前面的语句里面的“->count()”换成了“->max('age')”。
Jsnpp里面,其他的聚合查询也是一样的语句,所以不再一一举例代码了。
下面列举一下Jsnpp支持的聚合查询,看下面的表:
# | 名称 | 作用 | 参数 |
---|---|---|---|
1 | count | 总数 | 可以省略 |
2 | max | 最大值 | 字段名 |
3 | min | 最小值 | 字段名 |
4 | avg | 平均值 | 字段名 |
5 | sum | 总和 | 字段名 |
以上就是Jsnpp框架支持的聚合查询。