테이블과 쿼리가 있다고 가정하면 주어진 대륙에서 특정 국가에 대한 인구로 구성된롤업 - 소계 금액으로 행 필터링 sql oracle
입니다.
국가의 인구가 대륙보다 큰 경우 평균 인구 평균 (인구) & 대륙 평균 인구 +3 기본적으로 소계 대륙 값과 일정한 차이가있는 행을 필터링하려고합니다.
데이터를 수정하고 데이터가 여러 해가 아니며 숫자가 분명히 가비지라는 것을 알았지 만 이는 단지 예일뿐입니다.
create table abc (continent varchar2(30), country varchar2(30), population number, yr number)
insert into abc values ('africa', 'kenya', 50, 2005)
insert into abc values ('africa', 'egypt', 100, 2006)
insert into abc values('africa', 'south africa', 35, 2007)
insert into abc values ('africa', 'nigeria', 200, 2008)
insert into abc values ('asia', 'china', 50, 2005)
insert into abc values ('asia', 'india', 100, 2006)
insert into abc values('asia', 'japan', 35, 2007)
insert into abc values ('asia', 'korea', 200, 2008)
select continent, country, avg(population)
from abc
where ------population for each country > 3+ avg for each continent
----should return egpyt/nigeria rows and india/korea rows since average here is 96.25 for each continent.
group by rollup(continent, country)
나는 당신의 테이블을 가정하고 싶지 않습니다. 귀하의 테이블 구조와 예상/실제 출력을 보여주십시오. – CodeNewbie
샘플 데이터로 삽입 문도 거의 없습니다. –
안녕하세요, 저는 신속하게 아이디어를 얻으려는 몇 가지 진술을 추가했습니다. 소계 행에서 특정 거리 떨어져있는 행을 필터링하려고합니다 --- select 문에서 두 번째 열이 NULL 인 곳입니다. – runningbirds