`
810364804
  • 浏览: 807773 次
文章分类
社区版块
存档分类
最新评论

Oracle表的常用查询实验(七)

 
阅读更多

Oracle表的常用查询实验(七)

1.问题描述:

有一个商品信息表,该表反应了各种商品的销售情况,一个产品是按照gid和gname两个字段来区分的,一个产品可能会有多个型号。

createtableT_Goods
(
Idintprimarykey,
GIdvarchar2(10)notnull,
GNamevarchar2(20)notnull,
GColourvarchar2(10),
GWithinint,
GSizevarchar2(10),
GNumberint
)

CREATESEQUENCEseq_goods
INCREMENTBY1
STARTWITH1
NOMAXVALUE
NOCYCLE
CACHE10;

现要将各种商品各种型号的销售情况进行汇总统计,达到如下效果:

2.需求分析:

分类统计--->说明要用到group by 和sum()函数

group by 分两种情况:(1)group by GId, gname, gcolour, gwithin, gsize 得到的是每种型号的销售量

(2)group by gid, gname 得到的是每种产品的销售量

3.解答过程:

(1)求每种型号的销售量

(2)求每种产品的销售量

(3)求商品的总销售量

(4)将以上3个结果集联合在一起

(5)用decode()函数精简gid和gname,用row_number() over(partition by ) 函数来排序

4.SQL代码:

select rownum seq,
decode(rn, 1, gid) gid,
decode(rn, 1, gname) gname,
gcolour,
gwithin,
gsize,
gnumber
from (select t.*, row_number() over(partition by gid,gname order by gnumber) rn
from (select GId,
gname,
gcolour,
gwithin,
gsize,
sum(gnumber) gnumber
from t_goods
group by GId, gname, gcolour, gwithin, gsize
union all
select gid, gname, null, null, '小计', sum(gnumber)
from t_goods
group by gid, gname
union all
select null, null, null, null, '总计', sum(gnumber)
from t_goods) t);

分享到:
评论

相关推荐

    ORACLE 多表查询与数据修改

    ### ORACLE 多表查询与数据修改 ...通过本次实验的学习,您可以更加熟练地掌握Oracle数据库中的多表查询技巧,以及基本的INSERT、UPDATE和DELETE操作。这对于日常的数据库管理和开发工作都是非常有用的技能。

    大型数据库技术-实验二 Oracle SQL PLUS环境与查询.doc

    通过实验,学生能够熟悉Oracle的基本知识,掌握SQL*PLUS的常用命令,并深入理解Oracle的查询语句。 1. **SQL*PLUS环境与常用命令** - **启动SQL*PLUS**:通常通过命令行输入`sqlplus 用户名/密码`来登录。 - **...

    Oracle实验三.doc

    该实验主要包括表结构的建立、修改、查看、删除操作,索引的建立、修改、查看、删除操作,视图的建立、查询、修改、删除操作,同义词的建立、查询、修改、删除操作,以及序列的建立、查询、修改、删除操作。...

    oracle上机实验

    通过本次Oracle上机实验,不仅学习了如何使用SQL*PLUS这一Oracle的核心工具,还掌握了如何管理Oracle数据库中的用户和密码,了解了如何创建数据库表和定义完整性约束,以及如何执行基本的数据查询。这对于深入理解...

    oracle实验指导书

    - **数据库管理与应用**:通过对Oracle常用工具的学习,让学生了解数据库的管理与应用方式。 **2.2 学生应具备的能力** - **预习准备**:学生需要在实验前预习相关的理论知识,准备好实验所需的材料。 - **观察与...

    oracle常用管理工具

    本文将详细介绍Oracle中的一些常用管理工具,包括Oracle Database Configuration Assistant (DBCA)、SQL*Plus、SQL*Plus Worksheet以及Oracle Enterprise Manager (OEM)。 1. **Oracle Database Configuration ...

    Oracle数据库实验操作

    - **实验1:** 编写一个简单的SQL查询语句,用于查询表中的所有行和所有列。例如: ```sql SELECT * FROM 表名; ``` - **实验2:** 查询表中的所有行,同时自定义列的顺序。 ```sql SELECT 列1, 列2, ... FROM ...

    oracle数据库实验指导书

    - 实验中强调熟悉数据库中的工具,这可能包括Oracle企业管理器(OEM)、SQL*Plus等,这些工具是数据库管理员日常工作中常用的交互界面。 3. **Oracle数据库基本操作**: - 实验二介绍了如何在Oracle中创建数据库...

    oracle实验报告

    3、 通过dept表查询出所有部门号,对每个部门雇员的工资进行调整,将工资高于(包含$2000)$2000的雇员每人增加$500,将工资低于$2000的雇员每人增加到$2000。但应注意雇员工资调整后不应大于$10000,否则显示出错信息,...

    Oracle数据库实验

    整个实验指导书的内容包括对Oracle 10g数据库的安装、配置及常用工具的使用,创建数据库、表空间和数据文件,数据库的安全管理,管理表结构与数据,管理索引、视图、同义词和序列,以及PL/SQL编程基础和高级编程的...

    oracle实验四.docx

    ### Oracle 实验四:分组查询与链接查询 #### 分组函数 在Oracle数据库中,分组函数(也称为聚合函数)是用来对一组值执行计算并返回单一值的函数。常用的分组函数包括COUNT(), SUM(), AVG(), MAX(), MIN()等。 *...

    动手实验 Oracle Hadoop装载程序

    通过本实验,不仅可以掌握Oracle Hadoop装载程序的操作流程,还可以学习到如何处理大数据文件、如何使用外部表将数据加载到Oracle数据库中,以及如何优化数据装载流程。实验结果的验证确保了数据成功迁移,并且可以...

    现代数据库技术实验指导书(oracle).doc

    实验七:Oracle对象管理及使用 这包括对表、视图、索引、存储过程、触发器等数据库对象的创建、修改和删除操作,以及如何利用这些对象来实现更高效的数据管理和应用开发。 实验八:Oracle安全管理及备份恢复(选做...

    Oracle经典常用技巧荟萃

    2. Oracle备份与恢复实验教程:通过实际操作的教程,帮助用户掌握Oracle数据库的备份与恢复技术,确保数据安全和业务连续性。 这些知识点展示了Oracle数据库管理的多个关键领域。当然,这只是冰山一角,实际应用中...

    Oracle11g SQL基础-实验手册.pdf

    第9章创建和管理表,是关于如何在Oracle中创建新表,使用子查询语法创建表,修改现有表,以及管理表的结构。这包括如何重命名表、删除表以及截断表等操作。 第10章内置约束则是关于数据完整性的部分,讨论了主键、...

Global site tag (gtag.js) - Google Analytics