python如何实现Oracle查询分组
这篇文章主要讲解了python如何实现Oracle查询分组,内容清晰明了,对此有兴趣的小伙伴可以学习一下,相信大家阅读完之后会有帮助。
1.分组的概念:
关键字:group by子句
结论:在select列表中如果出现了聚合函数,不是聚合函数的列,必须都要定义到group by子句的后面
需求:
查询公司各个部门的平均工资?
select department_id,avg(salary)from employeesgroup by department_id;
需求提升:
查询公司各个部门不同工种的平均工资?
select department_id,job_id,avg(salary)from employeesgroup by department_id,job_id;
2.having子句:
作用:用来过滤包含聚合函数的相关信息(数据)
位置:
可以再group by前也可以再 group by后面(比较随意)
需求:
查询40、60、80号部门中平均工资大于6000的部门信息?
以下代码实现有问题的:报错了!!
报错原因:如果需要对于聚合函数进行过滤不能使用where子句,
需要使用having子句来实现...
select department_id,avg(salary)from employeeswhere avg(salary) > 6000 and department_id in(40,60,80)group by department_id;
代码修改如下:
select department_id,avg(salary)from employeeswhere department_id in(40,60,80)having avg(salary) > 6000group by department_idorder by department_id desc;
附:Python连接与查询oracle数据库示例:
import cx_Oracleconn = cx_Oracle.connect('scott/tiger@localhost:1521/orcl')cursor = conn.cursor()cursor.execute("SELECT ENAME FROM EMP")row = cursor.fetchone()print row[0],cursor.close()conn.close()
看完上述内容,是不是对python如何实现Oracle查询分组有进一步的了解,如果还想学习更多内容,欢迎关注亿速云行业资讯频道。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。