`

oracle 求每个季度资费

阅读更多
一个面试题:表A(userid,yuefen,费用类型,金额)

问题如下:求每个用户四个季度的资费总额

问题分析:因为每个用户每个月的费用类型不同,因此需要算出每个月每个用户的总额
          在此基础上,计算每个用户每个季度的总额

解决办法:

         方法一:case when

select userid,sum(case when yuefen>=1 and yuefen <=3 then 金额 end)  第一季度,
       sum(case when yuefen>=4 and yuefen <=6 then 金额 end)  第二季度,
       sum(case when yuefen>=7 and yuefen <=9 then 金额 end)  第三季度,
       sum(case when yuefen>=10 and yuefen <=12 then 金额 end)  第四季度
from (select userid,月份,sum(金额) 金额 from A group by userid,月份)group by userid;

         方法二:decode

select userid,sum(decode(yuefen,1,金额,2,金额,3,金额)) 第一季度,
       sum(decode(yuefen,4,金额,5,金额,6,金额)) 第二季度,
       sum(decode(yuefen,7,金额,8,金额,9,金额)) 第三季度,
       sum(decode(yuefen,10,金额,11,金额,12,金额)) 第四季度
from (select userid,月份,sum(金额) 金额 from A group by userid,月份)group by userid;
分享到:
评论

相关推荐

    Oracle统计一天内每小时的数据量

    Oracle统计一天内每小时的数据量。在某小时内有数据,该时间段会被统计出来;该时间段内没有交易,该时间段不会被统计出来,默认为0即可

    Oracle 查询两个日期之间的所有月份

    Oracle 查询两个日期之间的所有月份

    Oracle 单一主机多个实例多个监听器配置

    在案例中给出的部分内容展示了如何在`SID_LIST_LISTENER`部分定义多个`SID_DESC`条目,每个条目对应一个实例的描述,包括实例名称、Oracle Home路径和实例的SID名称。 #### 结论 在Oracle单一主机上配置多个实例和...

    ORACLE EBS查看库存现有量

    ORACLE EBS查看库存现有量SQL

    两个oracle数据库的监听的配置

    - 确保每个实例的ORACLE_HOME路径正确无误。 - 主机名和端口号必须与实际环境匹配。 - 对于双实例或多实例环境,确保每个实例的服务名和服务实例名不冲突。 - 在启动数据库实例之前,必须先启动监听器。 - 完成配置...

    oracle语句查询两个日期之间星期六、星期日的天数

    oracle语句查询两个日期之间星期六、星期日的天数

    基于C#连接Oracle数据库Oracle.ManagedDataAccess

    首先,Oracle.ManagedDataAccess是Oracle公司提供的一个纯.NET框架的客户端驱动,它允许开发者在不安装Oracle客户端的情况下,直接与Oracle数据库进行交互。这个库包含了所有必要的组件,使得C#程序可以方便地执行...

    Oracle体系结构详解.pdf

    在同一服务器上可以安装多个 Oracle 软件,每个 Oracle 软件可以建多个 Database,但是每个 Database 只对应一个 Instance。在实例切换时,需要使用 connect 命令连接到相应的 Instance,例如:connect 用户名/密码@...

    linux下oracle安装两个实例一个监听的配置

    在Linux环境下配置Oracle数据库时,有时我们需要在同一台服务器上安装多个Oracle实例,并通过一个监听器进行管理。这种配置可以提高资源利用率并简化网络管理。本文将详细介绍如何在Linux下为两个Oracle实例配置一个...

    Mysql转Oracle软件 DBMover for Mysql to Oracle

    使用DBMover可以灵活定义Mysql和Oracle之间表和字段的对照关系,也可以在DBMover创建一个查询,把查询结果当作源表转入到Oracle中。 Dbmover for Mysql to Oracle 可以定时,定周期自动运行。 支持 Oracle 8i 以后...

    Oracle大型数据库技术详解

    每个 Oracle数据库对应唯一的一个实例名SID,Oracle数据库服务器启动后,一般至少有以下几个用户:Internal,它不是一个真实的用户名,而是具有SYSDBA优先级的Sys用户的别名,它由DBA用户使用来完成数据库的管理任务...

    Oracle RAC配置ST_Geometry技术文档

    1. 向 Oracle 每个节点服务器上传 libst_shapelib.so 文件,利用 oracle 用户上传到 $ORACLE_HOME/lib 路径下,并赋权限 chown oracle:oinstall libst_shapelib.so,chmod 775 libst_shapelib.so。 2. 在每个节点的...

    Oracle课程设计 Oracle项目实例 Oracle编程

    SQL的基本操作如CRUD(创建、读取、更新、删除)是每个Oracle开发者必须熟练掌握的。此外,还将涉及表的创建、索引、视图、存储过程、触发器以及事务管理等主题,这些都是构建高效数据库应用程序的基础。 在Oracle...

    oracle的按月统计sql(一个数据库面试题)

    oracle的按月统计sql..............................

    Oracle批处理:使用C# 自带Oracle驱动一次执行多条Sql语句

    这是Oracle公司为.NET开发者提供的一个数据访问组件,它允许我们直接在C#代码中与Oracle数据库进行交互。安装ODP.NET后,我们可以通过NuGet包管理器引入Oracle.ManagedDataAccess.dll库,这将提供连接、查询以及...

    Oracle 9i Client (Oracle 9i 客户端) 简化版 (不安装Oracle客户端,也可以使用PLSQL Developer)

    Oracle 9i Client (Oracle 9i 客户端) 简化版 (不安装Oracle客户端,也可以使用PLSQL Developer 不用安装Oracle客户端也可以使用PLSQL Developer 绿色! 安全! 轻便! 可靠! 1、本软件可作为简单的Oracle9i客户端...

    oracle.jdbc.driver.oracledriver Oracle JDBC驱动包 ojdbc6

    标题中的"ojdbc6"指的是Oracle JDBC驱动的一个特定版本,适用于Java SE 6环境。这个驱动包包含了多个JAR文件,如`classes12.jar`、`ojdbc5.jar`和`ojdbc6.jar`,它们各自服务于不同的Java兼容性和功能需求。 1. **...

    Oracle 11g Concepts中英文对照.pdf

    在这种模型中,数据被组织成一个或多个相关的表,每个表都是由行和列组成的。关系数据库模型提供了一个强大的数据存储和管理平台。 关系数据库管理系统(RDBMS) 关系数据库管理系统(RDBMS)是指一种特殊类型的 ...

Global site tag (gtag.js) - Google Analytics