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

转载 2015年11月19日 22:32:33

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




Laravel框架学习(数据库高级查询)

1、连接查询(join)连接查询指的是将两张表或多张表关联到一起进行查询,获取一个表的行与另一个表的行匹配的数据。常见的连接查询包括内连接(等值连接)、左(外)连接、右(外)连接和交叉连接(完全连接)...
  • fationyyk
  • fationyyk
  • 2016年03月14日 10:21
  • 8207

Mysql数据分组GROUP BY 和HAVING,与WHERE组合使用

理解分组,可以这样:对GROUP BY子句后面跟随的列名进行分组,然后对每一个分组而不是整个表进行操作。 举例:在产品表中,检索每一个供应商提供的商品的数量。 mysql> SELECT vend_i...
  • liuchunming033
  • liuchunming033
  • 2015年08月04日 17:00
  • 15788

oracle中的having ,group by ,where之间联系与区别

having子句与where有相似之处但也有区别,都是设定条件的语句。 在查询过程中聚合语句(sum,min,max,avg,count)要比having子句优先执行.而where子句在查询过程中执...
  • gao454917848
  • gao454917848
  • 2014年06月21日 08:36
  • 1681

Oracle中SQL语句学习五(统计分组语句group by和having)

在应用系统开发中,进行需要统计数据库中的数据,当执行数据统计时,需要将表中的数据进行分组显示,在统计分组中是通过group by子句、分组函数、having子句共同实现的。其中group by子句用于...
  • icanlove
  • icanlove
  • 2014年08月26日 16:23
  • 14398

详解在group by分组查询中where 和 having的用法和区别。

我地都知道sql 中 where 和 having 都是用来筛选条件的关键字。而且having 一般和group by 一齐使用,   但是where 也可以用group by 一齐使用的。下面用个简...
  • nvd11
  • nvd11
  • 2013年04月02日 00:55
  • 679

常用查询条件\分组 group by\having和where的区别\union查询

(1)in()在某个范围(集合)之间 //获得 商品id 为 3, 5, 7 ,8 这几个商品的信息 select goods_name from  ecs_goods where goods_i...
  • zsj523
  • zsj523
  • 2013年04月17日 21:38
  • 772

mysql group by having用法+having where之间的区别+group by按日期分组统计的查询

以下是count,group by,having的一些用法,以图书价格表为例---所有书籍价格的统计select sum(price)总价,avg(price)均价,max(price)最高价,min...
  • zqtsx
  • zqtsx
  • 2014年12月11日 17:07
  • 3657

mysql group by having用法+having where之间的区别+group by按日期分组统计的查询

以下是count,group by,having的一些用法,以图书价格表为例 ---所有书籍价格的统计 select sum(price)总价,avg(price)均价,max(pri...
  • liujihaozhy
  • liujihaozhy
  • 2015年12月23日 15:42
  • 1567

Mysql数据分组GROUP BY 和HAVING,与WHERE组合使用

理解分组,可以这样:对GROUP BY子句后面跟随的列名进行分组,然后对每一个分组而不是整个表进行操作。 举例:在产品表中,检索每一个供应商提供的商品的数量。 [sql] ...
  • THMAIL
  • THMAIL
  • 2017年05月18日 11:48
  • 210

组函数(avg(),sum(),max(),min(),count())、多行函数,分组数据(group by,求各部门的平均工资),分组过滤(having和where),sql优化 .

1组函数 avg(),sum(),max(),min(),count()案例: selectavg(sal),sum(sal),max(sal),min(sal),count(sal) f...
  • u013293782
  • u013293782
  • 2014年10月10日 09:59
  • 687
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:group 分组 查询 栏目下文章 的总数 having where区别
举报原因:
原因补充:

(最多只允许输入30个字)