create table employee
(emp_no number(5),
salary ,varvhar2(10),
emp_name varvhar2(10))
select *from employeeEMP_NO,SALARY,EMP_NAME
123,5000,nhh
546,5600,jkkk
345,4000,fgg
2456,6000,jkk
要求查询以如下格式显示
salary_range 人数
0<S<5000 1
5000<S<6000 2
S>6000 1
(emp_no number(5),
salary ,varvhar2(10),
emp_name varvhar2(10))
select *from employeeEMP_NO,SALARY,EMP_NAME
123,5000,nhh
546,5600,jkkk
345,4000,fgg
2456,6000,jkk
要求查询以如下格式显示
salary_range 人数
0<S<5000 1
5000<S<6000 2
S>6000 1
from (select
case
when salary > 0 and salary < 5000 then
'0<salary<5000'
when salary > 5000 and salary < 6000 then
'5000<salary<6000'
else
'salary>6000'
end as salary_range
from employee) a
group by salary_range
from(select
decode(sign(salary-5000),0,'0<salary<5000',1,
decode(sign(salary-6000),0,'5000<salary<7000',1,'salary>6000')) salary_range
from employee) a
group by salary_range;
from(select
decode(sign(salary-5000),0,'0 <salary <5000',1,
decode(sign(salary-6000),0,'5000 <salary <6000',1,'salary>6000')) salary_range
from employee) a
group by salary_range; 上面笔误。。还不让修改。。
from(select
decode(sign(salary-5000),-1,'0 <salary <5000',0,'salary=5000',
decode(sign(salary-6000),-1,'5000 <salary <6000',0,'salary=6000',
1,'salary>6000')) salary_range
from employee) a
group by salary_range;
...再修改~~
from(select
decode(sign(salary-5000),-1,'0 <salary <5000',0,'salary=5000',1,
decode(sign(salary-6000),-1,'5000 <salary <6000',0,'salary=6000',
1,'salary>6000')) salary_range
from employee) a
group by salary_range; SORRY。。回复太快!如果你是恶意刷楼,将会受到严厉惩罚!要隔多久~