|
1. 질문 자동차 보험료는 30세이하(20대)일 때 할증이 붙어 상당히 비싸게 책정되는데, 20대에게 자동차 보험료를 비싸게 적용하는것이 그럴만한가? 2. 참고data 3. 테이블생성스크립트 <2015년도 테이블 생성> create table acci15 ( age varchar2(100), type varchar2(100), total number(30) );
<2016년도 테이블 생성> create table acci16 ( age varchar2(100), type varchar2(100), total number(30) );
<2015, 2016년 데이터 테이블 병합> create table acci as select * from acci15;
insert into acci (select * from acci16);
select * from acci;
<분석을 위해 pivot하여 테이블 생성> create table acci_pivot as select * from ( select * from acci where age ='21-30세' or age = '31-40세' or age = '41-50세' or age = '51-60세' or age = '61-64세' or age = '65-70세' or age = '71세이상') pivot(sum(total) for type in('발생건수' as "사고발생건수", '부상자수' as "부상자수", '경상자수' as "경상자수", '중상자수' as "중상자수", '사망자수' as "사망자수") )
order by age; 4. 분석쿼리 select age, 사고발생건수 as "총 건수", rank() over(order by 사고발생건수 desc) as "순위(총 건수)", round(부상자수/사고발생건수*100,2) as "부상률(%)", rank() over(order by round(부상자수/사고발생건수*100,2) desc) as "순위(부상률)", round(중상자수/사고발생건수*100,2) as "중상률(%)", rank() over(order by round(중상자수/사고발생건수*100,2) desc) as "순위(중상률)", round(사망자수/사고발생건수*100,2) as "사망률(%)", rank() over(order by round(사망자수/사고발생건수*100,2) desc) as "순위(사망률)" from acci_pivot
order by age; 5. 결과화면 6. 결론
1. 실제 연령별 운전자수가 얼마나 차이나는 지 확인할 방법이 없기 때문에 정확한 상대비교는 불가능하지만 그래도 일단 총 사고 발생 건수가 20대는 60,783건으로 1위인 50대나 2위인 40대보다 확연히 낮다.
2. 단순하게 모든 부상을 나타내는 부상률 순위는 20대가 1위이긴 하지만 수치상으로 다른 연령대와 비교했을 때 큰 차이는 없다.
3. 중상률도 수치상으로 다른 연령대와 큰 차이는 없지만 가장 낮은 순위이다.
4. 가장 큰 인명사고인 사망발생률은 20대가 6위로 낮은 편에 속했고 1위인 70대에
비하면 절반도 되지 않았다.
이 분석에서는 연령별로 실제 운전을 하는 사람이 얼마나 되는지를 비교 할 수 없고 사고 처리 비용을 비교한 것이 아니기 때문에 이 분석 결과로 단정 짓는 것 까지는 어렵지만
대체로 인명피해로 인한 피해보상이 가장 큰 비용을 요구하는 것을 고려하면
위의 분석결과를 봤을 때 20대에게 가중치를 주는 것이 합당한 것인지 조금 의문이 든다.
7. 연습문제 종합순위를 출력하시오 ( 각 순위들의 합의 순위 ) |