如何解决在结果中添加一列,显示按年份分组的序号
这些 sql 能够添加具有递增数字(1、2、3、4 等)的列
select year,quarter,uploaddate,wagecount,SUM(1)
OVER (ORDER BY year,uploaddate) as SequentialNumbers from SAMPLE_DATA
order by year,uploaddate
或
select your_query.*,rownum
from (select year,wagecount
from SAMPLE_DATA) your_query
结果如下
年 | 季度 | 上传日期 | 工资计数 | 序列号 |
---|---|---|---|---|
2021 | 1 | 01-JAN-21 | 2 | 1 |
2021 | 1 | 02-JAN-21 | 2 | 2 |
2021 | 1 | 03-JAN-21 | 1 | 3 |
2021 | 1 | 04-JAN-21 | 5 | 4 |
无论如何要采取下一个大胆的步骤,让每年都有自己的序列号。换句话说,结果最终会像这样
类似的东西
年 | 季度 | 上传日期 | 工资计数 | 序列号 |
---|---|---|---|---|
2019 | 1 | 01-JAN-21 | 2 | 1 |
2019 | 1 | 02-JAN-21 | 2 | 2 |
2019 | 1 | 03-JAN-21 | 1 | 3 |
2019 | 1 | 04-JAN-21 | 5 | 4 |
2020 | 1 | 01-JAN-20 | 2 | 1 |
2020 | 1 | 02-JAN-20 | 2 | 2 |
2020 | 1 | 03-JAN-20 | 1 | 3 |
2020 | 1 | 04-JAN-20 | 5 | 4 |
2021 | 1 | 01-JAN-21 | 2 | 1 |
2021 | 1 | 02-JAN-21 | 2 | 2 |
2021 | 1 | 03-JAN-21 | 1 | 3 |
2021 | 1 | 04-JAN-21 | 5 | 4 |
样本数据如下:
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,to_date('28-MAR-19',8493);
Insert into SAMPLE_DATA (YEAR,to_date('29-MAR-19',15070);
Insert into SAMPLE_DATA (YEAR,to_date('30-MAR-19',1244);
Insert into SAMPLE_DATA (YEAR,WAGECOUNT) values ('2020',to_date('03-JAN-20',0);
Insert into SAMPLE_DATA (YEAR,to_date('05-JAN-20',2);
Insert into SAMPLE_DATA (YEAR,to_date('06-JAN-20',3);
Insert into SAMPLE_DATA (YEAR,to_date('07-JAN-20',6);
Insert into SAMPLE_DATA (YEAR,WAGECOUNT) values ('2021','2',to_date('21-APR-21',59);
Insert into SAMPLE_DATA (YEAR,to_date('22-APR-21',10);
Insert into SAMPLE_DATA (YEAR,to_date('23-APR-21',16);
Insert into SAMPLE_DATA (YEAR,to_date('24-APR-21',1);
解决方法
您需要for (var i = 0; i < example.length - 1; i++) {
解析函数:
row_number
结果:
select year,quarter,uploaddate,wagecount,row_number()
OVER (partition by year
ORDER BY quarter,uploaddate) as SequentialNumbers
from SAMPLE_DATA
order by year,uploaddate;
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。