关于的Oracle语句,求帮助一下!

在ORACLE数据库中
CREATE TABLE table1(
FID int,//记录id
FName varchar2(10),//员工姓名
FDate TIMESTAMP(6),//日期
FSalary number//金额
)
表记录了公司内所有员工的薪水发放记录(注:薪水可能是按周发放,也可能是按月、按日发放),数据可能跨年。
现要求计算出每个员工的按年,月统计的薪水报表,请写出实现的sql语句;

现要求得出月薪水平介于500-800的员工姓名(要求名字不重复,含500和800)。

你用between and 就能锁定每个月了。

按年统计薪水

select 
  o_char(t.FDate,'YYYY') ,
  t.Fid,
  sum(t. FSalary),
  max(t. FName)
from table1 t 
group by o_char(t.FDate,'YYYY') ,t.Fid

按月统计薪水

select 
  o_char(t.FDate,'YYYYMM') ,
  t.Fid,
  sum(t.FSalary),
  max(t.FName)
from table1 t 
group by o_char(t.FDate,'YYYYMM') ,t.Fid

查月薪水平介于500-800的员工姓名

select Fname from table1 where FSalary between 500 and 800 group by Fname;