最好对比着 having 给出案例例题 和查询的结果!跪求高手!
解决方案 »
- oracle中job过一段时间停止运行
- bulk insert 无法识别?
- 插入记录的问题,总是提示ORA-00904:"ENDDATA":标识符无效
- 存储过程
- 最新数据萃取方法征询
- 误删OracleOraDb11g_home1TNSListener,导致监听不能启动,怎么办啊?急。。。
- oracle有几个文件特别大,请问是什么文件,如何解决?
- 如何把sql server2000中一个数据库中所有表及数据导入到Oracle中?
- 问 windows 2003 server 下安装oracle 92 ?
- ORA-12541: 无监听程序导致数据库链接断断续续
- 超长SQL报表优化从哪些方面入手
- 求一条sql语句。创建的表都有了。现在根据要求来得到输出。
对行分组可以使用任何聚合函数。
GROUP BY子句中出现的列,并不要求一定出现在SELECT子句中。
练习:在Products表中统计每种类型商品的数量。(显示产品类型编号和数量)
使用聚合函数的限制:
如果查询中包含一个聚合函数,而所选择的列并不在聚合函数中,则这些列就必须在group by 子句中。
就是说如果在一个查询中使用了聚合函数,则所选择的列一定是聚合函数中的列或者是出现在group by子句中的列,其它的列不允许被查询。
仅仅使用group by会将所有的分组显示出来,如果只想显示满足一定条件的分组,则需要使用having。GROUP BY可以没有HAVING,但HAVING必须有GROUP BY
练习:查询平均价格大于20的商品的商品类型号和平均价格。
WHERE和HAVING的关系
WHERE是用来筛选记录的,而HAVING是用来筛选分组的。