我有一张表,我想在其中获取MODIFIED_DATE
与计数相同的记录2
例如:如果job_id
= 1234 中有2 条记录的日期为MODIFIED_DATE
=04-10-2024
则应该过滤该记录。
Name Null? Type
---------------------- -------- --------------
JOB_PROGRESS_ID NOT NULL NUMBER
JOB_ID NUMBER
STATUS_ID NUMBER
HOTO_OFFERED_DATE DATE
HOTO_ACCEPTENCE_DATE DATE
LIT_ACCEPTENCE_DATE DATE
APPROVED_BY NVARCHAR2(200)
APPROVED_DATE DATE
REJECTED_BY NVARCHAR2(200)
REJECTED_DATE DATE
APPROV_REJECT_REMARK NVARCHAR2(255)
ABD_COMPLETED_LENGTH NUMBER
NE_SPAN_LENGTH NUMBER(10,4)
CREATED_BY NVARCHAR2(200)
CREATED_DATE NOT NULL DATE
MODIFIED_BY NVARCHAR2(200)
MODIFIED_DATE DATE
如果您想要查找
job_id
并且modified_date
当表中有两行具有这些值时则:对于样本数据来说:
输出:
如果您想列出所有列,那么:
输出:
注意:A
DATE
始终包含日期和时间组件,因此当您比较值时,您是以秒(而不是天)的精度进行比较的。如果您存储非午夜时间组件并希望检查一整天的重复项,则在查询中使用TRUNC(modified_date)
而不是。modified_date
输出:
和:
输出:
小提琴
不清楚这个问题想要什么——唯一可以确定的是本地化的日期字符串会引起问题。应该是
YYYY-MM-DD
。问题可能是询问如何找到所有重复的行、其中一个重复的行或具有重复的作业。
要查找同一日期有 2 行或更多行的 JobID,可以使用
GROUP BY
HAVING` :要查找一天中的所有重复项,
COUNT() OVER
可以使用 CTE:要仅查找额外的行,
ROW_NUMBER
可以使用: