`

oracle 行转列的sql应用举例

 
阅读更多

背景:

     之前一个表设计的时候,是每一列展示所有项的设计,后来改造者,改造数据表结构时,觉得这种表设计有问题,现将表设计成行展示,每一行,只显示一项数据,这样显示没问题,但就是统计数据时,会比较麻烦。

实现:

    

WITH pivot_data AS (  -- 使用CTE语法,行转列的记录集    
           SELECT role_id,RULE_type,
           data_object, config_value    -- 原始表,注意出现过的列,看PIVOT里面是如何处理的    
           FROM   aaaa
           )    
   SELECT *    
   FROM   pivot_data    
   PIVOT (    
          SUM(config_value)            --<-- pivot_clause ,   作为聚合项    
          FOR data_object          --<-- pivot_for_clause  行转列字段(聚合)    
         IN  (1,2,3,4,5,6,7,11,12,13,14)   --<-- pivot_in_clause   行转列的行取值,最后会生成这些行(聚合)    
        ) t ;

 可以参考这样实现

 还可以多写多个select 嵌套select进行查询统计

分享到:
评论

相关推荐

    oracle行转列

    - oracle行转列.doc:再次强调了Oracle中的行转列技术,可能包括了不同的实现方法和实例。 - oracle_行转列的通用过程.docx:可能是一个详细的行转列通用过程的指南,包括步骤和示例代码。 - PLSQL函数速查.txt:...

    Sql,oracle数据表行转列问题

    本文将详细讲解SQL行转列问题的解决方案,并提供了一个具体的实例来帮助读者更好地理解该问题。 问题描述 假设我们有一个学生成绩表tb,包含姓名、课程和分数三个字段。我们想将该表转换为一个新的表格,其中每一...

    Oracle PL/SQL实例精解 数据库建立代码

    通过学习和实践这些实例,你可以更深入地理解Oracle PL/SQL如何在实际项目中应用,提升数据库管理和开发的能力。 总结起来,"Oracle PL/SQL实例精解 数据库建立代码"涵盖了数据库设计、对象创建、索引优化以及数据...

    oracle中实现列转行实例

    oracle中实现列转行实例,有表的创建,数据的插入,查询的sql

    SqlDbx连接oracle

    在没有完整Oracle客户端的情况下,可能需要手动配置这个文件来指定要连接的Oracle实例。 总的来说,SqlDbx通过Oracle Instant Client的库文件实现了对Oracle数据库的连接,使得用户无需安装庞大的Oracle客户端软件...

    ORACLE_SQLDeveloper使用教程

    ### Oracle SQL Developer 使用教程 #### 一、Oracle Database Home Page 的使用 在开始介绍 Oracle SQL Developer 的使用之前,我们先来看看如何使用 Oracle Database Home Page。这部分内容非常重要,因为它是...

    oracle到sqlserver 跨库查询

    .oracle 到 SQL Server 跨库查询 Oracle 到 SQL Server 跨库查询是指通过网关工具将数据从 SQL Server 数据库中抽取到 Oracle 数据库中。这个过程需要安装和配置网关软件,并进行相应的设置和配置。 一、网关软件...

    Oracle数据库SQL和PL/SQL实例教程

    Oracle数据库是全球广泛使用的大型关系型数据库管理系统之一,SQL(结构化查询语言)是与所有关系数据库进行交互的标准语言,而PL/SQL是Oracle数据库特有的编程语言,它扩展了SQL的功能,使得数据库管理、开发和维护...

    Oralce数据库SQL和pl_sql实例教程

    通过实例训练和练习,学习者可以逐步掌握SQL和PL/SQL的使用技巧,包括基本查询、排序、条件查询、函数应用以及更复杂的查询技术。这些知识对于数据库管理员、开发人员以及其他需要与数据库交互的角色来说至关重要。 ...

    Oracle与SQLServer的SQL语法差异

    Oracle与SQLServer的SQL语法差异,用简单易懂的语言和实例对Oracle和Sql Server语法之间的差异进行了对比分析,更加适用于入门的人

    oracle pl/sql实例精讲student数据库模式数据和表脚本

    Oracle PL/SQL是一种强大的编程语言,它结合了SQL的数据库操作能力和Procedural Language的编程结构,用于在Oracle数据库环境中创建复杂的应用程序。在"Oracle PL/SQL实例精讲student数据库模式"中,我们将深入探讨...

    通过ORACLE通用连接访问SQLServer数据库的方法

    1. **创建ODBC数据源**:使用Oracle服务器的操作系统提供的ODBC管理工具创建一个新的ODBC数据源,该数据源指向SQL Server数据库实例(如ET2000、OFSS2000、BK2000)。这一步骤是基础性的设置,确保Oracle可以通过...

    oracle数据库 sql 和pl/sql实例教程

    在"Oracle数据库 SQL 和 PL/SQL实例教程"中,你可以期待学习到以下几个核心知识点: 1. **SQL基础**:包括数据查询、数据插入、更新和删除(DML语句),以及数据库对象的创建和管理(DDL语句)。例如,如何使用...

    Oracle 10g连接sqlserver2000操作指南

    Oracle 10g 连接 SQL Server 2000的操作流程主要涉及两个核心部分:安装Gateways和配置透明网关。...正确配置后,用户可以在Oracle环境中透明地访问和操作SQL Server的数据,提高了数据管理和应用开发的灵活性。

    压测Oracle的SQL语句的性能情况

    "直连Oracle执行SQL进行压测"意味着测试者直接与数据库交互,不通过中间层如应用程序服务器,这能更准确地反映出数据库本身的性能瓶颈。这种测试方法有助于定位是否问题出在SQL查询本身,还是在数据库配置或硬件资源...

    Oracle中SQL语句行列之间相互转换

    当需要将一组数据的多个值汇总到单独的列中时,就可以使用“行转列”或称为“pivot”。在Oracle中,可以通过`PIVOT`函数来实现这一操作。 ##### 2.1 方法一:使用CASE WHEN语句 这种方法适用于字段数量较少的情况...

    oracle通过odbc建立dblink访问sqlserver数据库

    ### Oracle通过ODBC建立DBLink访问SQLServer数据库 在企业级应用环境中,不同数据库系统间的交互变得越来越频繁。为了实现Oracle数据库与SQLServer数据库之间的数据交换,可以通过多种方式实现连接,其中一种较为...

    oracle_commond.rar_odbc api_oracle_oracle 客户端_oracle sql_sql

    本文将基于"oracle_commond.rar_odbc api_oracle_oracle 客户端_oracle sql_sql"这一主题,深入探讨Oracle数据库的相关知识,包括ODBC API、Oracle客户端工具以及SQL在Oracle中的应用。 1. ODBC API(Open Database...

    Oracle可视化工具sqldeveloper-23.1.0.097.1607-x64

    **Oracle SQL Developer 详解** Oracle SQL Developer 是一款强大的、免费的可视化数据库管理工具,由 Oracle 公司提供,主要用于管理 Oracle 数据库系统。版本号 "23.1.0.097.1607-x64" 表明这是一款针对 64 位...

Global site tag (gtag.js) - Google Analytics