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() . '
';
echo '最大钱数是:' . $goods->max('goods_price') . '
';
echo '最小钱数是:' . $goods->min('goods_price') . '
';
echo '平均值为:' . $goods->avg('goods_price') . '
';
echo '总价钱:' . $goods->sum('goods_price') . '
';
结果:
总共多少条记录:55
最大钱数是:6700.00
最小钱数是:18.00
平均值为:2089.133273
总价钱:114902.33