查询每种分类下的商品总数 : select cate_id count(*) from sw_goods group by cate_id 获取栏目名称 连表查询
查询cate_id=2的商品总数 : select cate_id count(*) from sw_goods where cate_id=2 group by cate_id 获取文章总数 连表查询
查询 cate_id = 2 的 商品的 价格总和 : select sum(price) from sw_goods where cate_id=2 group by cate_id 获取栏目名称 连表查询
having where 区别
1 where 在前 having 在后
2 where 的条件字段 必须在原来的表中存在该字段 才能使用 having 使用的条件必须是 通过select 查询的 字段 才能 having
select price ,name,address from goods where price>100 正确
select price ,name,address from goods having price>100 正确 选择了price
select price ,name,address from goods having weight>100 错误 选择了weight 但是没有查询weight 错误 但是用 where 是可以的
查询商品平均价格大于1000的所有的商品种类
select name avg(price) from goods group by cate_id having avg(price)>1000 这种情况只能使用having 他是现算出来的字段 只能使用 having 不能使用where
select name avg(price) from goods where avg(price>1000 group by cate_id 错误 这个avg(price)字段在 表中没有 所以不能使用