Oracle查询一批数据,某字段的内容有重复数据,怎样取相同的记录中时间最近的一条

2024年11月18日 10:45
有3个网友回答
网友(1):

SELECT
*
FRON
表 main
WHERE
NOT EXISTS (
SELECT 1
FROM 表 sub
WHERE main.C1 = sub.C1 AND main.C5 < sub.C5
)

算法就是, 对于 每一个 C1 不存在有其他行的 C5 比本行的 C5 更大

网友(2):

select * from table a, (select max(c5) maxtime,c1 from table group by c1 ) b
where a.c5=b.maxtime and a.c1=a.c1

网友(3):

SELECT
*
from
表 main
WHERE
NOT EXISTS (
SELECT 1
FROM 表 sub
WHERE main.C1 = sub.C1 AND main.C5 < sub.C5
)

测试过了,这个可行。