python实现Oracle查询分组的方法示例

时间:2021-05-22

本文实例讲述了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相关内容感兴趣的读者可查看本站专题:《Python常见数据库操作技巧汇总》、《Python编码操作技巧总结》、《Python数据结构与算法教程》、《Python Socket编程技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》

希望本文所述对大家Python程序设计有所帮助。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章