单位编号      个人编号               类别    金额
v_COmpany_id v_insured_id  v_name  v_group   v_fare
1               1           邓金秀    A1       100
1               2           催辉       A2       200
1               3           催昆       A3       300
1               4          催莉敏      A1       100查询可不可以显示如下信息
以单位编号分组,统计V_group 各个类别的人数及其这个单位的总金额
       A1    A2   A3  
1      2     1      1      700

解决方案 »

  1.   

    又是行列转换固定列的话seelct v_COmpany_id,sum(decode('v_group','A1',1,0)) a1,
           sum(decode('v_group','A2',1,0)) a2,
           sum(decode('v_group','A3',1,0)) a3,
           sum (v_fare)
           from a
           group by v_COmpany_id
      

  2.   

    select a.v_company_id,
           count(a.v_group, 'A1', 1, 0) A1,
           count(a.v_group, 'A2', 1, 0) A2,
           count(a.v_group, 'A3', 1, 0) A3,
           sum(a.v_fare)
      from table a
      

  3.   

    好快,我的写错了 应该是sum
      

  4.   

    SELECT V_COMPANY_ID,
           SUM(DECODE(V_GROUP, 'A1', 1, 0)) A1,
           SUM(DECODE(V_GROUP, 'A2', 1, 0)) A2,
           SUM(DECODE(V_GROUP, 'A3', 1, 0)) A3,
           SUM(V_FARE) V_FARE
      FROM TEST
     GROUP BY V_COMPANY_ID