如何在 SQL 中创建 ID 的顺序计数?

问题描述 投票:0回答:1

我正在使用如下所示的数据框:

工作_ID APPLICANT_ID 日期 状态
1 A 2020年1月1日 第一阶段
1 A 2020年1月1日 已接受
2 A 2020年1月1日 被拒绝
1 B 2020年2月1日 第一阶段
1 B 2020年2月2日 第二阶段
1 B 2020年2月3日 已接受

我想添加一个字段,按顺序计算具有相同职位 ID 和申请人 ID 的行数,以便结果如下所示:

工作_ID APPLICANT_ID 日期 状态 计数
1 A 2020年1月1日 第一阶段 1
1 A 2020年1月2日 已接受 2
2 A 2020年1月1日 被拒绝 1
1 B 2020年2月1日 第一阶段 1
1 B 2020年2月2日 第二阶段 2
1 B 2020年2月3日 已接受 3

我尝试过使用:

COUNT(DISTINCT(JOB_ID, APPLICANT_ID))

但这似乎不起作用。

sql sequential
1个回答
0
投票

根据您使用的 SQL 方言,答案可能会略有不同,这将是获得所需结果的方法:

SELECT 
    *, 
    ROW_NUMBER() OVER(PARTITION BY JOB_ID, APPLICANT_ID ORDER BY DATE) AS COUNT
FROM
    INPUT_TABLE

这里

INPUT_TABLE
是您作为输入提供的表格。

© www.soinside.com 2019 - 2024. All rights reserved.