【发布时间】:2022-12-06 21:12:46
【问题描述】:
我在表中有这些记录 - employee_projects
| id | employee_id | project_id | status |
|---|---|---|---|
| 1 | emp1 | proj1 | VERIFIED |
| 2 | emp2 | proj2 | REJECTED |
| 3 | emp1 | proj1 | VERIFIED |
| 4 | emp1 | proj3 | REJECTED |
| 5 | emp2 | proj2 | REQUIRED |
| 6 | emp3 | proj4 | SUBMITTED |
| 7 | emp4 | proj5 | VERIFIED |
| 8 | emp4 | proj6 | VERIFIED |
| 9 | emp3 | proj4 | REQUIRED |
以下是确定重复项的标准:
- 同一员工ID,同一状态下的同一项目ID(示例:第1行和第3行重复)
- 相同的员工 ID、相同的项目 ID 但状态不同(示例:第 6 行和第 9 行重复)。
重复标准#2 的一个例外是,如果一个项目是必需的,而同一个项目在同一员工下也被拒绝,则这不被视为重复。例如,第 2 行和第 5 行不是重复的。
我有一个关于第一个标准的查询:
select emp_id, proj_id, status, COUNT(*) from employee_projects group by emp_id, proj_id, status having COUNT(*) > 1我正在努力构建的是第二个标准的 SQL。
【问题讨论】:
-
如果对于相同的
emp_id、proj_id,你有status的 'REJECTED'、'REQUIRED'、'REJECTED'、'REJECTED'...等,这是否被视为重复?
标签: sql