thinkPHP的条件查询、动态查询和聚合函数

xiaoxiao2021-02-28  128

条件查询

having 和 where 的区别

区别一:

where后面跟的字段必须在数据表中有

having后面跟的字段必须在查询出的数据集中有

区别二:

where * from 表 where 条件 group by 分组

1、按主键查询

$list = M('goods')->select(2);

返回一条主键值为2的数据

 

2、查询编号是2-6的记录

$list = M('goods')->select("2,3,4,5,6");

返回5条记录

 

3、where条件查询

(1)$list = M('goods')->where("goods_name like '%诺基亚%'")->select(); (2)$list = M('goods')->where("goods_name like '%诺基亚%' and goods_price >= 1000")->select(); 

 

4、limit

$list = M('goods')->limit(2,5)->select();

2~5条的数据

 

5、where limit

$list = M('goods')->where('goods_price > 1000')->limit(3)->select();

3条大于1000的数据

 

6排序

递减排序 $list = M('goods')->order('goods_price desc')->select(); 递增排序 $list = M('goods')->order('goods_price asc')->select();  

7、查询制定字段

$list = M('goods')->field('goods_name,goods_price')->select();

只查询出goods_namegoods_price两个字段

 

8、分组查询

$list = M('goods')->group('goods_brand_id')->field('goods_brand_id, max(goods_price) m')->having('m>2000')->select();

动态查询

getby + 字段名

$data = M('goods')->getBygoods_brand_id(9); goods_brand_id 是字段名

聚合函数

$goods = M('goods'); echo '总共多少条记录:' . $goods->count() . '<br/>'; echo '最大钱数是:' . $goods->max('goods_price') . '<br/>'; echo '最小钱数是:' . $goods->min('goods_price') . '<br/>'; echo '平均值为:' . $goods->avg('goods_price') . '<br/>'; echo '总价钱:' . $goods->sum('goods_price') . '<br/>';

 

结果:

总共多少条记录:55 最大钱数是:6700.00 最小钱数是:18.00 平均值为:2089.133273 总价钱:114902.33

转载请注明原文地址: https://www.6miu.com/read-21730.html

最新回复(0)