当前位置: 代码迷 >> Oracle开发 >> 关于group求SQL,该怎么处理
  详细解决方案

关于group求SQL,该怎么处理

热度:29   发布时间:2016-04-24 06:37:00.0
关于group求SQL
有如下表格结构
create table T_CASE
(
  contractid         VARCHAR2(20), --合同号
  applyervocation    VARCHAR2(100),--申请人职业
  contractamount     NUMBER(10,4),--申请合同金额
  applyerage         NUMBER(5), --申请人年龄
  historyoverduedays NUMBER(5) --最大历史逾期天数
)

根据申请人职业,金额,年龄 分组,求每个分组里的最大逾期天数超过30天和未超过30天的数据
------解决方案--------------------
select applyervocation,contractamount,applyerage,max(historyoverduedays) from T_CASE 
group by applyervocation,contractamount,applyerage
having max(historyoverduedays>30
你试试看
------解决方案--------------------
select applyervocation,contractamount,applyerage,
sum(case when historyoverduedays>30 then 1 end) "逾期超过超过30天",
sum(case when historyoverduedays<=30 then 1 end) "逾期未超过超过30天"
from T_CASE
group by applyervocation,contractamount,applyerage
  相关解决方案