oracle+函数+分类汇总,oracle 归类汇总

这是我遇到的一个面试题:

已知各城市的每月收入总值,

写出sql语句,查出各地点的年收入总值。

-------------------------------------------------先回顾一下oracle的基本知识

set serveroutput on --打开输出

--先删除表,再创建表

begin

execute immediate 'drop table t1';

exception when others then

dbms_output.put_line('INFO not exit table t1');

end;

create table t1 (

id number(4),

area varchar2(10) not null,

month date not null,

income number(10,2) not null,

constraint t1_pk primary key(id)

);

--先删除序列,再创建序列

begin

execute immediate 'drop sequence seq1';

exception when others then

dbms_output.put_line('not exit sequence');

end;

create sequence seq1 start with 1 increment by 1;

--重置sequence初始值

declare

n      number(10);

tsql   varchar2(100);

begin

select   seq1.nextval   into   n   from   dual;

n:=-(n-1);

tsql:= 'alter   sequence   seq1   increment   by '||   n;

execute   immediate   tsql;

select   seq1.nextval   into   n   from   dual;

tsql:= 'alter   sequence   seq1   increment   by   1 ';

execute   immediate   tsql;

end;

insert into t1 values(seq1.nextval-1,'重庆',add_months(to_date('2009-12','yyyy-mm'),seq1.currval-1),2000+seq1.currval-1);

insert into t1 values(seq1.nextval-1,'重庆',add_months(to_date('2009-12','yyyy-mm'),seq1.currval-1),2000+seq1.currval-1);

insert into t1 values(seq1.nextval-1,'重庆',add_months(to_date('2009-12','yyyy-mm'),seq1.currval-1),2000+seq1.currval-1);

insert into t1 values(seq1.nextval-1,'重庆',add_months(to_date('2009-12','yyyy-mm'),seq1.currval-1),2000+seq1.currval-1);

insert into t1 values(seq1.nextval-1,'重庆',add_months(to_date('2009-12','yyyy-mm'),seq1.currval-1),2000+seq1.currval-1);

insert into t1 values(seq1.nextval-1,'重庆',add_months(to_date('2009-12','yyyy- mm'),seq1.currval-1),2000+seq1.currval-1);

insert into t1 values(seq1.nextval-1,'重庆',add_months(to_date('2009-12','yyyy-mm'),seq1.currval-1),2000+seq1.currval-1);

insert into t1 values(seq1.nextval-1,'重庆',add_months(to_date('2009-12','yyyy-mm'),seq1.currval-1),2000+seq1.currval-1);

insert into t1 values(seq1.nextval-1,'重庆',add_months(to_date('2009-12','yyyy-mm'),seq1.currval-1),2000+seq1.currval-1);

insert into t1 values(seq1.nextval-1,'重庆',add_months(to_date('2009-12','yyyy-mm'),seq1.currval-1),2000+seq1.currval-1);

insert into t1 values(seq1.nextval-1,'重庆',add_months(to_date('2009-12','yyyy-mm'),seq1.currval-1),2000+seq1.currval-1);

insert into t1 values(seq1.nextval-1,'重庆',add_months(to_date('2009-12','yyyy-mm'),seq1.currval-1),2000+seq1.currval-1);

insert into t1 values(seq1.nextval-1,'重庆',add_months(to_date('2009-12','yyyy-mm'),seq1.currval-1),2000+seq1.currval-1);

insert into t1 values(seq1.nextval-1,'重庆',add_months(to_date('2009-12','yyyy-mm'),seq1.currval-1),2000+seq1.currval-1);

insert into t1 values(seq1.nextval-1,'重庆',add_months(to_date('2009-12','yyyy-mm'),seq1.currval-1),2000+seq1.currval-1);

insert into t1 values(seq1.nextval-1,'重庆',add_months(to_date('2009-12','yyyy-mm'),seq1.currval-1),2000+seq1.currval-1);

insert into t1 values(seq1.nextval-1,'重庆',add_months(to_date('2009-12','yyyy-mm'),seq1.currval-1),2000+seq1.currval-1);

insert into t1 values(seq1.nextval-1,'重庆',add_months(to_date('2009-12','yyyy-mm'),seq1.currval-1),2000+seq1.currval-1);

insert into t1 values(seq1.nextval-1,'重庆',add_months(to_date('2009-12','yyyy-mm'),seq1.currval-1),2000+seq1.currval-1);

insert into t1 values(seq1.nextval-1,'重庆',add_months(to_date('2009-12','yyyy-mm'),seq1.currval-1),2000+seq1.currval-1);

insert into t1 values(seq1.nextval-1,'重庆',add_months(to_date('2009-12','yyyy-mm'),seq1.currval-1),2000+seq1.currval-1);

insert into t1 values(seq1.nextval-1,'重庆',add_months(to_date('2009-12','yyyy-mm'),seq1.currval-1),2000+seq1.currval-1);

insert into t1 values(seq1.nextval-1,'重庆',add_months(to_date('2009-12','yyyy-mm'),seq1.currval-1),2000+seq1.currval-1);

insert into t1 values(seq1.nextval-1,'重庆',add_months(to_date('2009-12','yyyy-mm'),seq1.currval-1),2000+seq1.currval-1);

insert into t1 values(seq1.nextval-1,'重庆',add_months(to_date('2009-12','yyyy-mm'),seq1.currval-1),2000+seq1.currval-1);

insert into t1 values(seq1.nextval-1,'重庆',add_months(to_date('2009-12','yyyy-mm'),seq1.currval-1),2000+seq1.currval-1);

insert into t1 values(seq1.nextval-1,'重庆',add_months(to_date('2009-12','yyyy-mm'),seq1.currval-1),2000+seq1.currval-1);

insert into t1 values(seq1.nextval-1,'北京',add_months(to_date('2009-12','yyyy-mm'),seq1.currval-1),2000+seq1.currval-1);

insert into t1 values(seq1.nextval-1,'北京',add_months(to_date('2009-12','yyyy-mm'),seq1.currval-1),2000+seq1.currval-1);

insert into t1 values(seq1.nextval-1,'北京',add_months(to_date('2009-12','yyyy-mm'),seq1.currval-1),2000+seq1.currval-1);

insert into t1 values(seq1.nextval-1,'北京',add_months(to_date('2009-12','yyyy-mm'),seq1.currval-1),2000+seq1.currval-1);

insert into t1 values(seq1.nextval-1,'北京',add_months(to_date('2009-12','yyyy-mm'),seq1.currval-1),2000+seq1.currval-1);

insert into t1 values(seq1.nextval-1,'北京',add_months(to_date('2009-12','yyyy-mm'),seq1.currval-1),2000+seq1.currval-1);

insert into t1 values(seq1.nextval-1,'北京',add_months(to_date('2009-12','yyyy-mm'),seq1.currval-1),2000+seq1.currval-1);

insert into t1 values(seq1.nextval-1,'北京',add_months(to_date('2009-12','yyyy-mm'),seq1.currval-1),2000+seq1.currval-1);

insert into t1 values(seq1.nextval-1,'北京',add_months(to_date('2009-12','yyyy-mm'),seq1.currval-1),2000+seq1.currval-1);

insert into t1 values(seq1.nextval-1,'北京',add_months(to_date('2009-12','yyyy-mm'),seq1.currval-1),2000+seq1.currval-1);

insert into t1 values(seq1.nextval-1,'北京',add_months(to_date('2009-12','yyyy-mm'),seq1.currval-1),2000+seq1.currval-1);

insert into t1 values(seq1.nextval-1,'北京',add_months(to_date('2009-12','yyyy-mm'),seq1.currval-1),2000+seq1.currval-1);

insert into t1 values(seq1.nextval-1,'北京',add_months(to_date('2009-12','yyyy-mm'),seq1.currval-1),2000+seq1.currval-1);

insert into t1 values(seq1.nextval-1,'北京',add_months(to_date('2009-12','yyyy-mm'),seq1.currval-1),2000+seq1.currval-1);

insert into t1 values(seq1.nextval-1,'北京',add_months(to_date('2009-12','yyyy-mm'),seq1.currval-1),2000+seq1.currval-1);

insert into t1 values(seq1.nextval-1,'北京',add_months(to_date('2009-12','yyyy-mm'),seq1.currval-1),2000+seq1.currval-1);

insert into t1 values(seq1.nextval-1,'北京',add_months(to_date('2009-12','yyyy-mm'),seq1.currval-1),2000+seq1.currval-1);

insert into t1 values(seq1.nextval-1,'北京',add_months(to_date('2009-12','yyyy-mm'),seq1.currval-1),2000+seq1.currval-1);

insert into t1 values(seq1.nextval-1,'北京',add_months(to_date('2009-12','yyyy-mm'),seq1.currval-1),2000+seq1.currval-1);

insert into t1 values(seq1.nextval-1,'北京',add_months(to_date('2009-12','yyyy-mm'),seq1.currval-1),2000+seq1.currval-1);

insert into t1 values(seq1.nextval-1,'北京',add_months(to_date('2009-12','yyyy-mm'),seq1.currval-1),2000+seq1.currval-1);

insert into t1 values(seq1.nextval-1,'北京',add_months(to_date('2009-12','yyyy-mm'),seq1.currval-1),2000+seq1.currval-1);

insert into t1 values(seq1.nextval-1,'北京',add_months(to_date('2009-12','yyyy-mm'),seq1.currval-1),2000+seq1.currval-1);

insert into t1 values(seq1.nextval-1,'北京',add_months(to_date('2009-12','yyyy-mm'),seq1.currval-1),2000+seq1.currval-1);

commit;

select area,year,sum(income) from (select id, area,to_char(month,'yyyy') year,income from t1) group by area,year order by area;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值