一个面试题:表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统计一天内每小时的数据量。在某小时内有数据,该时间段会被统计出来;该时间段内没有交易,该时间段不会被统计出来,默认为0即可
Oracle 查询两个日期之间的所有月份
在案例中给出的部分内容展示了如何在`SID_LIST_LISTENER`部分定义多个`SID_DESC`条目,每个条目对应一个实例的描述,包括实例名称、Oracle Home路径和实例的SID名称。 #### 结论 在Oracle单一主机上配置多个实例和...
ORACLE EBS查看库存现有量SQL
- 确保每个实例的ORACLE_HOME路径正确无误。 - 主机名和端口号必须与实际环境匹配。 - 对于双实例或多实例环境,确保每个实例的服务名和服务实例名不冲突。 - 在启动数据库实例之前,必须先启动监听器。 - 完成配置...
oracle语句查询两个日期之间星期六、星期日的天数
首先,Oracle.ManagedDataAccess是Oracle公司提供的一个纯.NET框架的客户端驱动,它允许开发者在不安装Oracle客户端的情况下,直接与Oracle数据库进行交互。这个库包含了所有必要的组件,使得C#程序可以方便地执行...
在同一服务器上可以安装多个 Oracle 软件,每个 Oracle 软件可以建多个 Database,但是每个 Database 只对应一个 Instance。在实例切换时,需要使用 connect 命令连接到相应的 Instance,例如:connect 用户名/密码@...
在Linux环境下配置Oracle数据库时,有时我们需要在同一台服务器上安装多个Oracle实例,并通过一个监听器进行管理。这种配置可以提高资源利用率并简化网络管理。本文将详细介绍如何在Linux下为两个Oracle实例配置一个...
使用DBMover可以灵活定义Mysql和Oracle之间表和字段的对照关系,也可以在DBMover创建一个查询,把查询结果当作源表转入到Oracle中。 Dbmover for Mysql to Oracle 可以定时,定周期自动运行。 支持 Oracle 8i 以后...
每个 Oracle数据库对应唯一的一个实例名SID,Oracle数据库服务器启动后,一般至少有以下几个用户:Internal,它不是一个真实的用户名,而是具有SYSDBA优先级的Sys用户的别名,它由DBA用户使用来完成数据库的管理任务...
1. 向 Oracle 每个节点服务器上传 libst_shapelib.so 文件,利用 oracle 用户上传到 $ORACLE_HOME/lib 路径下,并赋权限 chown oracle:oinstall libst_shapelib.so,chmod 775 libst_shapelib.so。 2. 在每个节点的...
SQL的基本操作如CRUD(创建、读取、更新、删除)是每个Oracle开发者必须熟练掌握的。此外,还将涉及表的创建、索引、视图、存储过程、触发器以及事务管理等主题,这些都是构建高效数据库应用程序的基础。 在Oracle...
oracle的按月统计sql..............................
这是Oracle公司为.NET开发者提供的一个数据访问组件,它允许我们直接在C#代码中与Oracle数据库进行交互。安装ODP.NET后,我们可以通过NuGet包管理器引入Oracle.ManagedDataAccess.dll库,这将提供连接、查询以及...
Oracle 9i Client (Oracle 9i 客户端) 简化版 (不安装Oracle客户端,也可以使用PLSQL Developer 不用安装Oracle客户端也可以使用PLSQL Developer 绿色! 安全! 轻便! 可靠! 1、本软件可作为简单的Oracle9i客户端...
标题中的"ojdbc6"指的是Oracle JDBC驱动的一个特定版本,适用于Java SE 6环境。这个驱动包包含了多个JAR文件,如`classes12.jar`、`ojdbc5.jar`和`ojdbc6.jar`,它们各自服务于不同的Java兼容性和功能需求。 1. **...
在这种模型中,数据被组织成一个或多个相关的表,每个表都是由行和列组成的。关系数据库模型提供了一个强大的数据存储和管理平台。 关系数据库管理系统(RDBMS) 关系数据库管理系统(RDBMS)是指一种特殊类型的 ...