利用decode函数实现按不同的选择条件 对数据进行分组统计

sql:

SELECT  
      decode('id', 'division_id', tc.division_id,  'service_center_id', tc.service_center_id, 'id', tc.id,  tc.division_id) as choice,
     sum(tc.totalFee) as totalFee,
   max(tc.dept_name) as dept_name,
   max(tc.service_center) as service_center 
 from tc
group by 
     decode('id', 'division_id', tc.division_id,  'service_center_id', tc.service_center_id, 'id', tc.id,  tc.division_id) 

解析:

decode()里面,'id' 、’'division_id'、'service_center_id'为选择项,也就是分组条件

sum():为求出数值型字段的和,

max() :用于显示非数值型字段的值.

总结:

该写法,是已经知道有哪些选择,为静态.可以实现不同分组下数据的统计


你可能感兴趣的:(利用decode函数实现按不同的选择条件 对数据进行分组统计)