Oracle 检索季度结束后第一天的结果
如何使下面的查询从季度结束后的第一天检索结果 换句话说,第一季度的业绩应包括4月1日及以后的记录,第二季度的业绩应包括7月1日及以后的记录,依此类推Oracle 检索季度结束后第一天的结果,oracle,date,truncate,quarter,Oracle,Date,Truncate,Quarter,如何使下面的查询从季度结束后的第一天检索结果 换句话说,第一季度的业绩应包括4月1日及以后的记录,第二季度的业绩应包括7月1日及以后的记录,依此类推 select year, quarter, uploaddate, wagecount, row_number() OVER (partition by year, quarter ORDER BY quarter, uploaddate) as Day_Number from (
select year, quarter, uploaddate, wagecount,
row_number()
OVER (partition by year, quarter
ORDER BY quarter, uploaddate) as Day_Number
from
(
select year, quarter, uploaddate, sum(wagecount) as wagecount from SAMPLE_DATA
group by year, quarter, uploaddate
)
order by year, quarter, uploaddate
我尝试了以下操作,但在运行查询时没有得到任何记录
select year, quarter, uploaddate, wagecount,
row_number()
OVER (partition by year, quarter
ORDER BY quarter, uploaddate) as Day_Number
from
(
select year, quarter, uploaddate, sum(wagecount) as wagecount from SAMPLE_DATA
where uploaddate > add_months(trunc(uploaddate,'Q'),3)-1
group by year, quarter, uploaddate
)
order by year, quarter, uploaddate;
样本数据如下:
CREATE TABLE SAMPLE_DATA (
YEAR VARCHAR2(4) NULL,
QUARTER NUMBER(1,0) NULL,
UPLOADDATE DATE NULL,
WAGECOUNT NUMBER(10,0) NULL
);
Insert into SAMPLE_DATA (YEAR,QUARTER,UPLOADDATE,WAGECOUNT) values ('2019','1',to_date('27-MAR-19','DD-MON-RR'),5);
Insert into SAMPLE_DATA (YEAR,QUARTER,UPLOADDATE,WAGECOUNT) values ('2019','1',to_date('28-MAR-19','DD-MON-RR'),8493);
Insert into SAMPLE_DATA (YEAR,QUARTER,UPLOADDATE,WAGECOUNT) values ('2019','1',to_date('29-MAR-19','DD-MON-RR'),15070);
Insert into SAMPLE_DATA (YEAR,QUARTER,UPLOADDATE,WAGECOUNT) values ('2019','1',to_date('30-MAR-19','DD-MON-RR'),1244);
Insert into SAMPLE_DATA (YEAR,QUARTER,UPLOADDATE,WAGECOUNT) values ('2019','1',to_date('29-APR-19','DD-MON-RR'),13000);
Insert into SAMPLE_DATA (YEAR,QUARTER,UPLOADDATE,WAGECOUNT) values ('2019','1',to_date('30-APR-19','DD-MON-RR'),1024);
Insert into SAMPLE_DATA (YEAR,QUARTER,UPLOADDATE,WAGECOUNT) values ('2020','1',to_date('03-JAN-20','DD-MON-RR'),0);
Insert into SAMPLE_DATA (YEAR,QUARTER,UPLOADDATE,WAGECOUNT) values ('2020','1',to_date('05-JAN-20','DD-MON-RR'),2);
Insert into SAMPLE_DATA (YEAR,QUARTER,UPLOADDATE,WAGECOUNT) values ('2020','1',to_date('06-JAN-20','DD-MON-RR'),3);
Insert into SAMPLE_DATA (YEAR,QUARTER,UPLOADDATE,WAGECOUNT) values ('2020','1',to_date('07-JAN-20','DD-MON-RR'),6);
Insert into SAMPLE_DATA (YEAR,QUARTER,UPLOADDATE,WAGECOUNT) values ('2021','2',to_date('21-APR-21','DD-MON-RR'),59);
Insert into SAMPLE_DATA (YEAR,QUARTER,UPLOADDATE,WAGECOUNT) values ('2021','2',to_date('22-APR-21','DD-MON-RR'),10);
Insert into SAMPLE_DATA (YEAR,QUARTER,UPLOADDATE,WAGECOUNT) values ('2021','2',to_date('23-APR-21','DD-MON-RR'),16);
Insert into SAMPLE_DATA (YEAR,QUARTER,UPLOADDATE,WAGECOUNT) values ('2021','2',to_date('24-APR-21','DD-MON-RR'),1);
Insert into SAMPLE_DATA (YEAR,QUARTER,UPLOADDATE,WAGECOUNT) values ('2021','2',to_date('23-JUL-21','DD-MON-RR'),106);
Insert into SAMPLE_DATA (YEAR,QUARTER,UPLOADDATE,WAGECOUNT) values ('2021','2',to_date('24-JUL-21','DD-MON-RR'),41);