读书人

oracle 归类汇总

发布时间: 2012-07-02 17:46:22 作者: rapoo

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;

读书人网 >其他数据库

热点推荐