`

数据库查询遇到的问题

阅读更多

原表数据如此。



 共有7个字段,我需要根据企业名称 地区 还有 年度 求 各污染物的总和。

格式为这样


也就是做成这种格式。

这个我请教了一个学长 用聚合函数可以指定新列。

select  年度 nd,企业名称 qymc,

sum(decode(污染物名称,'二氧化碳', 排放量,0))"EYHT",

sum(decode(污染物名称,'氮氧化物', 排放量,0)) "DYHW",

sum(decode(污染物名称,'烟尘', 排放量,0))"YC"

from  v_fqpwxx2 where 1=1 and 污染物名称 in ('氮氧化物') and 年度 = '2012'

group by (年度,企业名称) order by  sum(decode(污染物名称,'氮氧化物', 排放量,0)) desc

到了这一步数据查出来变成了这样。



 

已经可以查询年度企业名称 以及各个污染物的排放量、

但是问题又来了 也就是我自己解决的问题。因为出现了新的需求。

 

因为聚合函数无法作为条件 但是又有这个需求,而且还需要查询前N条的记录使用rownum, rownum无法和其他where条件一起指定。所以再第二个子查询里面写好where条件 再在第三个查询中取其中符合条件的前N条记录。

完整sql如下。

 select nd,qymc,eyhl,dyhw,yc from(

select  年度 nd,企业名称 qymc,

sum(decode(污染物名称,'二氧化硫', 排放量,0))"EYHL",

sum(decode(污染物名称,'氮氧化物', 排放量,0)) "DYHW",

sum(decode(污染物名称,'烟尘', 排放量,0))"YC"

from  v_fqpwxx2 where 1=1 and 污染物名称 in ('氮氧化物')

group by (年度,企业名称) order by  sum(decode(污染物名称,'氮氧化物', 排放量,0)) desc)

where dyhw>400 and dyhw<500 and rownum<=10

 

其中有个需要注意的小问题,就是sum(decode(污染物名称,'二氧化硫', 排放量,0))"EYHL", 函数指定的别名不能用小写,会以至于第二层查询出错。

  • 大小: 20.1 KB
  • 大小: 25.2 KB
  • 大小: 18.8 KB
分享到:
评论

相关推荐

    【实验报告】数据库的简单查询和连接查询实验

    【实验二 数据库的简单查询和连接查询实验】 【背景】设计一个简单的图书管理系统,该系统中包括:  图书信息:书号,书名,类别,出版社,作者,定价,备注;  读者信息:读者编号,姓名,单位,性别,电话; ...

    通用数据库连接查询器Ver2.0.2

    通用数据库连接查询器,支持Oracle、DB2、SQL Server、MySQL、PostgreSQL、Sybase,集成“查看表空间”、“权限”、“存储过程源代码”、“导入导出SQL脚本”、“保存查询结果”等功能。 纯绿色,免安装,跨...

    公交线路查询系统的数据库设计.doc

    对公交站台数据库表进行查询时,遇到,则继续查询, 遇到#表示查询结束,一旦发现存在不合法的公交站台DI,要立刻拒绝操作并给出提示, 公交站台修改流程如图4所示: (2)同理,如果需要对公交线路数据库表(ALL...

    数据库综合实验 网上书店管理系统

    建立数据库、表及约束、视图、存储过程和触发器。

    公交线路查询系统的数据库设计(1).doc

    对公交站台数据库表进行查询时,遇到","则继续查询,遇到"#"表示查 询结束,一旦发现存在不合法的公交站台DI,要立刻拒绝操作并给出提示,公交站台修 改流程如图4所示: (2)同理,如果需要对公交线路数据库表...

    vs code连接sql server数据库步骤及遇到的问题小结

    最近因为要在vs code上连接到sql server数据库,第一次尝试,之前用 java的时候使用jdbc连接过数据库,感觉用vs code连接数据库步骤要简单一些,网上写的博客也不是特别多,就顺便把我的步骤记录下来,仅供参考,...

    VBA连接SQL数据库的代码

    代码很简单,但是包含了不少初学者可能遇到的三个问题,一是长查询语句的换行问题,二是查询语句执行时间过长导致vba提示查询超时的问题,三是标题行和内容行怎么显示的问题。都很简单,但是不排除没有程序基础的...

    Oracle数据库中分页查询介绍

    在构建自定义搜索引擎时,开发人员常遇到的一个问题是实现某种类型的分页功能;也就是说,允许用户提交一个返回很多行数据的查询,但是只显示前20条。在用户点击一个链接时,下20条或者前20条数据会从数据库应用程序...

    27道高级开发数据库面试题目以及答案.pdf

    面试高级开发的期间整理的面试题目,记录我面试遇到过的数据库题目以及答案,比如说mvvc还有数据库调优,索引。 目录如下 数据库 数据库事务隔离级别; 事务的并发导致的问题; 数据库事务设置不同的隔离级别会导致的...

    Oracle数据库中大型表查询优化研究

    摘 要:对海量数据进行访问查询时,常常遇到系统响应时间过长,占用系统资源过多的问题。本文结合实例着重对Oracle数据库中的查询优化进行了研究,测试结果表明采用的方法是很有效的,大大缩短了测试用例表的响应...

    ORACLE数据库复制

    在很多生产环境中,经常遇到一些大量得数据,这些数据只用作查询统计功能。例如:历史告警,历史性能指标,历史事件,等等。这种数据的特点是:只读不写,数据量相当大,一旦查询大结果集的数据时,对数据库的IO,...

    图书销售管理系统数据库设计.docx

    通过图书销售管理系统可以解决书店管理中遇到的各种问题,该图书销售管理系统分析了市场需求和实际需要,利用Microsoft Visual Studio 2008连接SQL数据库的方式,实现了书店的图书销售等一系列管理,该系统具有处理...

    oracle数据库表空间常用查询以及相关操作命令

    oracle数据库表空间常用查询以及相关操作命令,实际开发中遇到的点滴备忘录

    C#从实体类映射到数据库(sqlite)

    开发过程中经常会遇到实体类保存到数据库的需求。通常就是建好数据库,映射到项目中。这个代码是从代码实体类到数据库(C#+sqlite),其他语言和数据库可用来参考

    VFP连接远程SQL数据库

    开发过程中遇到使用VFP连接远程SQL数据库,并且调用存储过程的情况

    数据库系统原理总结.pdf

    数据库系统原理总结 重新拿起数据库原理...我们在以后 的任何软件中,都会遇到对数据库进⾏增删改查的操作,这是基本操作,只有把这些操作性 的东西掌握好了,我们才能进⼀步在思想上升华,设计出更加安全可靠的系统。

    解决数据库连接方法

    在使用 SQL Server 的过程中,用户遇到的最多的问题莫过于连接失败了。一般而言,有以下两种连接 SQL Server 的方式,一是利用 SQL Server 自带的客户端工具,如企业管理器、查询分析器、事务探查器等;二是利用用户...

    数据库习题课.ppt

    很多时候我们会认为数据库没什么作用,学习的时候吊儿郎当,到今年做项目时,还不会连接查询,要想避免这种情况发生就必须打好基础,扎实的掌握每个知识点。 只要你从事计算机行业,就需要学习好数据库的基础知识,...

    如何设计数据库表.doc

    如何设计数据库表 一、简介 在设计数据库时,最重要的步骤是要确保数据正确分布到数据库的表中。... 电子表格专家经常会遇到上述问题,因为他们习惯于按照设计电子表格的方式设计 数据库。设计经常随时间变化的字段(例

    高校成绩管理数据库系统的设计与实现.doc

    写出数据库设计中遇到的问题及体会。 注意事项: 每个同学建立各自的数据库,数据库名统一命名为DX,X为各自班级和姓的全 拼。比如,对于01班的黄德才(huang de cai)同学,其数据库名为D01huangdecai; 为便于检查,...

Global site tag (gtag.js) - Google Analytics