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_name和goods_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