关闭

group 分组 查询 栏目下文章 的总数 having where区别

301人阅读 评论(0) 收藏 举报
分类:

查询每种分类下的商品总数 : 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)字段在 表中没有 所以不能使用 




0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:29487次
    • 积分:598
    • 等级:
    • 排名:千里之外
    • 原创:11篇
    • 转载:108篇
    • 译文:1篇
    • 评论:1条
    文章分类
    最新评论