有张表: id(编号),name(名称),region(地区) 想写个Oracle存储过程,要的结果是查询出各个地区下的数据条数,显示在一张表里,用地区做表头,而且查询出来的结果只有一行数据,就是此地区的条数。
比如说地区有下面几个(镇江市,镇江市区,丹阳市)等。
查询出来的数据格式是  
 
镇江市  镇江市区  丹阳市
   3        6        2           。。就是这些了。。谢谢啦 

解决方案 »

  1.   


    匿名 过程
    没有建立好要插入的表
     declare
    begin
    execute immediate
     'create table  table1  --如果你没有建立好要插入的表这样写  table1为建的表
           select region,name ,sum(1)
           from your_table --你的数据原表
             group by region,name
    ';end;表已经建好 的写法 declare
    begin
    insert into  table1  
           select region,name ,sum(1)
           from your_table --你的数据原表
             group by region,name;commit;
    end;
    命名为  your_pro 的写法
    没有建立好要插入的表
    create or replace procudere your_pro
    is
    begin
     'create table  table1  --如果你没有建立好要插入的表这样写  table1为建的表
           select region,name ,sum(1)
           from your_table --你的数据原表
             group by region,name
    ';
    end;
    表已经建好 的写法 
    create or replace procudere your_pro
    is
    begin
    insert into  table1  
           select region,name ,sum(1)
           from your_table --你的数据原表
             group by region,name;commit;end
      

  2.   

    楼上应该是使用count来统计数据的条数吧。。select count(*),region from table
    group by region
      

  3.   

    过程也可以 
    也可以用视图
    create view  v_tb
    as
    select name,region,count(1) 数量 from tb group by name,region
    --count(1)(or sum(1))