oracle实验七 答案,Oracle表的常用查询实验(七)

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

1.问题描述:

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

create table T_Goods

(

Id int primary key,

GId varchar2(10) not null,

GName varchar2(20) not null,

GColour varchar2(10),

GWithin int,

GSize varchar2(10),

GNumber int

)

CREATE SEQUENCE seq_goods

INCREMENT BY 1

START WITH 1

NOMAXVALUE

NOCYCLE

CACHE 10;

1b673d5ae3deca5c84de5342e8935e42.png

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

b3575d49d077b2696798f610e2506e7f.png

2.需求分析:

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

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

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

3.解答过程:

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

a4f166488cea5f2676c9ce72890a8035.png

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

ff228f59abc11b7ec871882fb6a9a4cf.png

(3)求商品的总销售量

990f38472cfa5c52772c8d542770dffd.png

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

c8d607678cb218198e9f0a4b9885a22d.png

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

3a67d5397d713dbe02a8eb8f4c1990a8.png

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);

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/526798.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

调用oracle常用方法,区分Oracle和SQL Server常用函数调用方法

一、数学函数1.绝对值S:select abs(-1) valueO:select abs(-1) value from dual2.取整(大)S:select ceiling(-1.001) valueO:select ceil(-1.001) value from dual3.取整(小)S:select floor(-1.001) valueO:select floor(-1.001) value from dual4.取整(截取)S:select cast(-1.…

oracle函数大全指数运算,Oracle 函数大全(字符串函数,数学函数,日期函数,逻辑运算函数,其他函数),该如何解决...

当前位置:我的异常网 Oracle开发 Oracle 函数大全(字符串函数,数学函数,日期函数,Oracle 函数大全(字符串函数,数学函数,日期函数,逻辑运算函数,其他函数),该如何解决www.myexceptions.net 网…

oracle ogg00423,【案例】Oracle报错PLS-00378 PLS-00439产生原因和MOS官方解决办法

【案例】Oracle报错PLS-00378 PLS-00439产生原因和MOS官方解决办法时间:2016-11-12 21:31 来源:Oracle研究中心 作者:代某人 点击:次天萃荷净PLS-00378此版本的PL / SQL编译单元无效原因:编译单元是一个文件,其中包含的PL / SQL传递给编译器的源代…

oracle实验四运动会,实验四oracle的安全性和完整性控制

实验四 oracle的安全性和完整性控制实验目的:1.通过本实验能够熟练应用sql语言进行用户权限的授予和回收。2.熟练掌握实体完整性,参照完整性及用户定义的完整性的定义。3.并体会oracle数据库系统在安全性和完整性保护方面的特性。实验要求:1.…

pig连接oracle数据库,Pig安装讲解

Pig 简介:Pig 是 Apache 项目的一个子项目,Pig 提供了一个支持大规模数据分析的平台,Pig 突出的特点就是它的结构经得起大量并行任务的检验,使得它能够处理大规模数据集Pig 特点:Pig 可简化 MapReduce 任务的开发Pig …

linux系统如何备份系统软件,Linux折腾记(十三):我该如何备份系统

在前面的一些文章中,我反复提到经常会把系统搞崩溃,所以备份系统就是一件不容忽视的事情。由于Linux系统本身的优越性,系统的备份和还原还是比较容易的。主要表现在以下方面:1.Linux系统所有的数据都以文件的形式存在,…

linux kset subsystem 3.10内核,Kobject、Kset 和 Subsystem

2014年5月12日Kobject 、Kset 和 Subsy stem - 海王 - 博客园http://www.doczj.com/doc/93b5b6113b3567ec112d8a49.html/leav en/archiv e/2010/04/24/1719191.html 4/8件(2)4. Linux input 子系统 io 控制字段(2)5. linux 内核定时器 tim er_list 详解(2) (2)把kobject 的 kse…

linux基础命令下载,Linux基础命令教程豪华版

豪华版主张学到更多的Linux命令知识。从这里开始学习Linux命令,本课程让你更清楚地了解和掌握它,在Linux中命令是讲究大小写的,所以请管好你的CapsLock键。不用担心,Linux命令说到底是几个字母的东西,你能学好它的&…

linux中循环删除脚本,shell脚本:遍历删除

遍历删除文本内路径上文件windows上测试可以安装Git linux中,准备删除文件的脚本deleteFile.sh,picture.txt保存待删除文件的文件路径,picture文件夹下面有三张待删除图片a/b/c.jpgdeleteFile.sh脚本如下:#!/bin/bash#…

linux 内核级资源查看,Linux资源管理

前一篇博客介绍了利用 cgroup 来控制进程的 CPU和内存使用情况, 这次补上使用 cgroup 来控制进程的IO优先级的方法.前提条件如果想控制进程的IO优先级, 需要内核的支持, 内核编译时需要打开下面2个参数.CONFIG_BLK_CGROUPyCONFIG_CFQ_GROUP_IOSCHEDy查看是否开启这2个内核编译选…

linux cpu uuid 查看,Linux下查看UUID方法介绍

Linux下查看UUID方法介绍。1. sudo blkid/dev/sda1: UUID”9ADAAB4DDAAB250B” TYPE”ntfs”/dev/sdb1: UUID”B2FCDCFBFCDCBAB5″ TYPE”ntfs”/dev/sdb5: UUID”46FC5C74FC5C5FEB” TYPE”ntfs”/dev/sdb6: TYPE”swap” UUID”2cec6109-5bcf-45a3-ba1b-978b041c037f”/dev/s…

linux 自定义vi dd,Vim常用命令及配置方案

几句话很久之前就接触到vim,初学那阵觉得vim很酷炫,但确实对新手不是很友好。我也就简单看了下基本操作就上手了,但又不是长期在vim下工作,这就导致了每一次重新使用vim都要再去回温下基本操作,很是难受,所…

linux指纹登录实现原理,指纹识别技术原理与基于Linux系统的指纹识别门禁系统设计...

指纹作为人体的身体特征,具有唯一性、稳定性和不易盗用等特点。随着指纹识别理论逐渐成熟、指纹采集工具这一难题得到解决,指纹识别已经成为目前最广泛应用的生物识别之一,逐渐取代了传统的认证识别方式,广泛应用于金融、公安、证…

linux 搜索命令 历史,Linux 控制台神器:搜索历史命令 Ctrl + R ( ctrl + r to search the history command )...

Linux 控制台神器:搜索历史命令 Ctrl R ( ctrl r to search the history command )2013-01-29 15:30访问量: 23761分类:技术Linux下的神器 ctrl r (reverse-i-search ) 的使用方法: (reverse-i-search usage: )(press ctl r ) 输入任意…

linux 有名管道pipe,linux 用無名管道pipe和有名管道fifo實現線程間通信

1.pipe用與實現同一個進程下不同線程間的通信(跟IPC進程間通信中的具有血緣關系的進程通信實現方式一樣)#include #include #include #include #include using namespace std;void *func(void * fd){char str[] "this is write thread!\n";write( *(int*)fd, str, s…

linux apache 跨域,解决nginx/apache静态资源跨域访问问题详解

1. apache静态资源跨域访问找到apache配置文件httpd.conf找到这行#LoadModule headers_module modules/mod_headers.so把#注释符去掉LoadModule headers_module modules/mod_headers.so目的是开启apache头信息自定义模块在独立主机配置文件中新增headerHeader set Access-Contr…

linux wps历史版本下载,WPS Office 2019 For Linux 11.1.0.9604版携新更新发布下载

WPS Office 2019 For Linux 11.1.0.9604版本发布了,仅支持64位计算机,提供Deb和Rpm格式软件包下载。更新详情1、WPS公共:优化界面绘制相关api的调用效率。适配ibus和fcitx框架的输入法,解决无法输入中文,预输入显示等问…

Linux双独立显卡SLI,玩点新奇的 双显卡给你不同的“SLI”效果

显卡老是千篇一律的常规测试对于我们这些测试人员来说早就已经没有什么意思了,无非就是跑分,超频后跑分,拷机等等一些测试项目,常看我们测试的玩家应该也知道同芯片显卡除非是频率的差别非常大才会有较为明显的性能差距体现出来&a…

三个等价c语言表达式,C语言习题综合(20页)-原创力文档

第二章练习题—.选择题1. 以下选项中正确的实型常量2A 0 B 3. 1415 C 0.32910 D .8712.不合法的用户标识符A _123 B printf C A $ D Dim1.表达式3.51/2的计算结果是___2.对数学表达式 ,写出三个等价的c语言表达式_____}第三章 练习题一.选择题1.若a ,b,c都是int型变…

DSP C2000汇编语言,DSPC2000汇编指令

值。XT寄存器的低16位部分是TL寄存器。该寄存器能装载一个16位有符号数,能自动对该数进行符号扩展,然后将其送人32位XT寄存器。XT寄存器的高16位部分是T寄存器。该寄存器主要用来存储16位乘法操作之前的16位整数值。T寄存器也可以为一些移位操作设定移位…