python实现Oracle查询分组的方法示例
本文实例讲述了python实现Oracle查询分组的方法。分享给大家供大家参考,具体如下:
1.分组的概念:
关键字:groupby子句
结论:在select列表中如果出现了聚合函数,不是聚合函数的列,必须都要定义到groupby子句的后面
需求:
查询公司各个部门的平均工资?
selectdepartment_id,avg(salary) fromemployees groupbydepartment_id;
需求提升:
查询公司各个部门不同工种的平均工资?
selectdepartment_id,job_id,avg(salary) fromemployees groupbydepartment_id,job_id;
2.having子句:
作用:用来过滤包含聚合函数的相关信息(数据)
位置:
可以再groupby前也可以再groupby后面(比较随意)
需求:
查询40、60、80号部门中平均工资大于6000的部门信息?
以下代码实现有问题的:报错了!!
报错原因:如果需要对于聚合函数进行过滤不能使用where子句,
需要使用having子句来实现...
selectdepartment_id,avg(salary) fromemployees whereavg(salary)>6000anddepartment_idin(40,60,80) groupbydepartment_id;
代码修改如下:
selectdepartment_id,avg(salary) fromemployees wheredepartment_idin(40,60,80) havingavg(salary)>6000 groupbydepartment_id orderbydepartment_iddesc;
附:Python连接与查询oracle数据库示例:
importcx_Oracle conn=cx_Oracle.connect('scott/tiger@localhost:1521/orcl') cursor=conn.cursor() cursor.execute("SELECTENAMEFROMEMP") row=cursor.fetchone() printrow[0], cursor.close() conn.close()
更多关于Python相关内容感兴趣的读者可查看本站专题:《Python常见数据库操作技巧汇总》、《Python编码操作技巧总结》、《Python数据结构与算法教程》、《PythonSocket编程技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》
希望本文所述对大家Python程序设计有所帮助。