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

本文实例讲述了python实现Oracle查询分组的方法。分享给大家供大家参考,具体如下:

1.分组的概念:

关键字:group by子句

结论:在select列表中如果出现了聚合函数,不是聚合函数的列,必须都要定义到group by子句的后面

需求:

查询公司各个部门的平均工资?

select department_id,avg(salary)

from employees

group by department_id;

需求提升:

查询公司各个部门不同工种的平均工资?

select department_id,job_id,avg(salary)

from employees

group by department_id,job_id;

2.having子句:

作用:用来过滤包含聚合函数的相关信息(数据)

位置:

可以再group by前也可以再 group by后面(比较随意)

需求:

查询40、60、80号部门中平均工资大于6000的部门信息?

以下代码实现有问题的:报错了!!

报错原因:如果需要对于聚合函数进行过滤不能使用where子句,

需要使用having子句来实现...

select department_id,avg(salary)

from employees

where avg(salary) > 6000 and department_id in(40,60,80)

group by department_id;

代码修改如下:

select department_id,avg(salary)

from employees

where department_id in(40,60,80)

having avg(salary) > 6000

group by department_id

order by department_id desc;

附:Python连接与查询oracle数据库示例:

import cx_Oracle
conn = 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程序设计有所帮助。

(0)

相关推荐

  • python cx_Oracle的基础使用方法(连接和增删改查)

    问题 使用python操作oracle数据库,获取表的某几个字段作为变量值使用. 使用Popen+sqlplus的方法需要对格式进行控制,通过流获取这几个字段值不简洁(个人观点--).(优点是能够使用sqlplus的方法直接访问sql文件,不需要考虑打开/关闭连接,并且通过流向文件中写入还挺好用的.不过优点不是这次所关注的) 使用cx-Oracle将查询结果返回为tuple格式,对返回结果的操作简洁,满足需求.(要注意数据库连接创建与关闭.sql的编写.预处理与提交等等,看起来也不简洁(同样个人

  • Python使用cx_Oracle模块将oracle中数据导出到csv文件的方法

    本文实例讲述了Python使用cx_Oracle模块将oracle中数据导出到csv文件的方法.分享给大家供大家参考.具体实现方法如下: # Export Oracle database tables to CSV files # FB36 - 201007117 import sys import csv import cx_Oracle connection = raw_input("Enter Oracle DB connection (uid/pwd@database) : "

  • python连接oracle数据库实例

    本文实例讲述了python连接oracle数据库的方法,分享给大家供大家参考.具体步骤如下: 一.首先下载驱动:(cx_Oracle) http://www.python.net/crew/atuining/cx_Oracle/ 不过要注意一下版本,根据你的情况加以选择. 二.安装: 首先配置oracle_home环境变量 执行那个exe安装程序就可以了,它会copy一个cx_Oracle.pyd到Libsite-packages目录下. 如果是linux,执行 复制代码 代码如下: pytho

  • python链接oracle数据库以及数据库的增删改查实例

    初次使用python链接oracle,所以想记录下我遇到的问题,便于向我这样初次尝试的朋友能够快速的配置好环境进入开发环节. 1.首先,python链接oracle数据库需要配置好环境. 我的相关环境如下: 1)python:Python 3.6.3 (v3.6.3:2c5fed8, Oct 3 2017, 17:26:49) [MSC v.1900 32 bit (Intel)] on win32 2)oracle:11.2.0.1.0 64bit.这个是server版本号,在链接oracle

  • Python使用cx_Oracle模块操作Oracle数据库详解

    本文实例讲述了Python使用cx_Oracle模块操作Oracle数据库.分享给大家供大家参考,具体如下: ORACLE_SID参数,这个参数是操作系统中用到的,它是描述我们要默认连接的数据库实例,对于一个机器上有多个实例的情况下,要修改后才能通过 conn / as sysdba连接,因为这里用到了默认的实例名. 简而言之,打个比方,你的名字叫小明,但是你有很多外号.你父母叫你小明,但是朋友都叫你的外号. 这里你的父母就是oracle实例,小明就是sid,service name就是你的外号

  • Python3.6连接Oracle数据库的方法详解

    本文实例讲述了Python3.6连接Oracle数据库的方法.分享给大家供大家参考,具体如下: 下载cx_Oracle模块模块: https://pypi.python.org/pypi/cx_Oracle/5.2.1#downloads 这里下载的是源码进行安装 [root@oracle oracle]# tar xf cx_Oracle-5.2.1.tar.gz [root@oracle oracle]# cd cx_Oracle-5.2.1 [root@oracle cx_Oracle-5

  • python针对Oracle常见查询操作实例分析

    本文实例讲述了python针对Oracle常见查询操作.分享给大家供大家参考,具体如下: 1.子查询(难): 当进行查询的时候,发现需要的数据信息不明确,需要先通过另一个查询得到, 此查询称为子查询: 执行顺序:先执行子查询得到结果以后返回给主查询 组成部分: 1).主查询部分 2).子查询部分 [注意事项]: 子查询一定需要被定义/包裹在小括号内部,可以认为是显示的提升了代码执行的优先级 需求1: 查询薪资比Abel的高的有谁? 分析: ①.先查询出Abel的薪资是多少? ②.将过滤条件定义为

  • python安装cx_Oracle模块常见问题与解决方法

    本文实例讲述了python安装cx_Oracle模块常见问题与解决方法.分享给大家供大家参考,具体如下: 安装或使用cx_Oracle时,需要用到Oracel的链接库,如libclntsh.so.10.1,否则会有各种各样的错误信息. 安装Oracle Instant Client就可得到这个链接库,避免安装几百兆之巨的Oracle Client. 软件下载地址: cx_Oracle的主页:http://cx-oracle.sourceforge.net/ 必需的Oracle链接库的下载地址:h

  • python使用 cx_Oracle 模块进行查询操作示例

    本文实例讲述了python使用 cx_Oracle 模块进行查询操作.分享给大家供大家参考,具体如下: # !/usr/bin/env python # -*- coding: utf-8 -*- import cx_Oracle from pprint import pprint import csv import time import re import binascii print time.ctime() try: conn = cx_Oracle.connect('tlcbuser/

  • Python编程实战之Oracle数据库操作示例

    本文实例讲述了Python编程实战之Oracle数据库操作.分享给大家供大家参考,具体如下: 1. 要想使Python可以操作Oracle数据库,首先需要安装cx_Oracle包,可以通过下面的地址来获取安装包 http://cx-oracle.sourceforge.net/ 2. 另外还需要oracle的一些类库,此时需要在运行python的机器上安装Oracle Instant Client软件包,可以通过下面地址获得 http://www.oracle.com/technetwork/d

  • python cx_Oracle模块的安装和使用详细介绍

    python cx_Oracle模块的安装 最近需要写一个数据迁移脚本,将单一Oracle中的数据迁移到MySQL Sharding集群,在linux下安装cx_Oracle感觉还是有一点麻烦的,整理一下,做个总结. 对于Oracle客户端,不只需要安装相应的python模块(这里我用了Oracle官方的python模块--cx_Oracle),还需要安装Oracle Client,一般选择Instant Client就足够了,还需要配置tnsnames.ora(当然也可以简单的通过host:p

随机推荐