原表数据如此。
共有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", 函数指定的别名不能用小写,会以至于第二层查询出错。
相关推荐
数据库查询优化是数据库管理系统中的关键环节,其目的是在满足用户查询需求的同时,尽可能地提高查询效率,减少资源消耗。在数据库领域,有三种经典的查询优化算法:基于成本的优化、基于规则的优化以及动态规划优化...
数据库查询示例程序是计算机科学领域中用于演示和学习如何从数据库中检索信息的应用程序。在实际的IT工作中,数据库查询是数据管理的核心部分,它允许用户和应用程序以结构化方式访问存储的数据。这里,我们将深入...
对于数据库查询工具来说,持续的更新和支持至关重要,因为它可以帮助用户适应数据库技术的快速发展,解决可能出现的问题,并提供最新的功能以提升用户体验。 在实际应用中,数据库自定义SQL查询工具的使用技巧包括...
在数据库查询中,这通常适用于处理分页数据或执行并行查询。 ### 2. 线程池 Java中的线程池是通过`java.util.concurrent.ExecutorService`接口和其实现类(如`ThreadPoolExecutor`)来创建的。线程池可以有效地管理...
实验过程分为讲解和实践两部分,学生需独立完成查询任务,遇到问题时可向指导教师求助。 实验原理主要涉及以下步骤: 1. 使用SQL语句表示查询要求。 2. 在查询分析器中输入SQL语句。 3. 设置查询执行方式,如标准...
标题和描述均提到了在Visual Basic(简称VB)中处理数据库查询时遇到的汉字匹配问题。这个问题主要源于VB中使用的Jet数据库引擎对于汉字双字节编码的处理方式,导致在查询含有特定汉字的记录时,可能会误匹配到其他...
本话题聚焦于如何使用Delphi 7从数据库查询数据并将其导出为Excel格式,这是一种常见的数据交换需求,尤其在数据分析、报告生成和数据共享时。 首先,我们需要理解Delphi 7中的数据库连接机制。在Delphi中,通常...
对于不太熟悉此类工具的用户来说,这个文件能帮助他们快速上手,了解如何启动程序、输入查询、查看结果等基本操作,以及遇到问题时的解决办法。 总的来说,"纯真IP数据库查询程序"是一个方便快捷的IP查询工具,结合...
### Access跨数据库查询详解 #### 一、引言 在Access数据库管理中,有时我们需要从不同的数据库文件中提取数据,并将这些数据进行整合分析。这种需求可以通过“跨数据库查询”来实现。本文将通过两个具体的SQL查询...
在实验过程中,你会遇到各种查询场景,如供应工程J1零件的供应商号码(子查询应用)、特定条件下的供应商号码筛选(连接查询)。通过对这些操作的实践,你的SQL技能将得到提升,能够熟练地进行数据的检索、更新和...
总的来说,这份易语言数据库自定义查询面板源码为我们提供了一个实践和学习数据库查询的好机会。通过分析源码,我们可以了解到如何在易语言环境中建立数据库连接,构造复杂的SQL查询,以及设计和实现用户交互界面。...
综上所述,解决SQLite数据库查询时的中文乱码问题,主要涉及数据库连接、表结构定义、数据插入、查询以及文件操作等多个环节的编码设置。通过检查并调整这些环节,可以有效地避免和解决中文乱码问题。对于文件名为`...
在进行数据库操作时,错误处理是必不可少的,确保程序在遇到问题时能够优雅地恢复或向用户反馈。 综上所述,“iPhone iOS数据库查询源代码”涵盖了从SQLite基础知识、API使用、查询语法,到实际开发中的FMDB库应用...
在IT领域,数据库是存储和管理数据的核心工具,而连接数据库和执行查询是任何数据驱动应用程序的基础。这个练习旨在帮助你熟悉这一过程,让你能够熟练地...实践中遇到的问题将有助于你巩固这些概念,提升你的编程技能。
同时,理解错误处理和事务管理也非常重要,这些可以帮助你在遇到问题时进行调试和恢复。 通过《ASP基础教程数据库查询语言》的学习,你将掌握如何在ASP环境中高效地使用SQL进行数据操作,为构建动态、数据驱动的Web...
分布式数据库查询优化是关系数据库管理系统领域中的一个重要课题,它直接影响到数据库系统的性能...通过对这些知识点的学习和应用,不仅可以提升数据库查询的效率,还能为实际工作中的问题解决提供理论和方法上的指导。
默认情况下,Delphi的模糊查询可能会遇到性能问题,尤其是在处理大量数据时。例如,使用“%”通配符在索引字段前可能导致全表扫描,这会显著降低查询速度。为了解决这个问题,我们可以采取以下策略: 1. **优化SQL...
在Java编程领域,套接字...以上就是关于“套接字数据库查询”的一些关键知识点,理解和掌握这些内容将有助于你在期末考试中解答相关问题。在实际编程中,你还需要结合具体的项目需求和数据库结构来应用这些技术。
本篇文章将深入探讨如何在ThinkPHP5中解决跨服务器、跨数据库的表关联查询问题。 首先,我们要理解在MySQL中,原生的SQL语法并不支持跨服务器的连表查询。然而,ThinkPHP5提供了灵活的数据库连接管理,使得我们可以...