我需要为每个人获取与最新时间戳相匹配的 ssn 和电子邮件,即每个人都可以拥有许多具有不同时间戳的电子邮件,我需要获取最新的。
这是我到目前为止的内容:
SELECT SSN, EMAIL
FROM TABLE1
WHERE TIMESTAMP IN (SELECT TIMESTAMP
FROM TABLE1
WHERE SSN IN ('111111111', '222222222', '333333333')
ORDER BY TIMESTAMP DESC FETCH FIRST ROW ONLY)
这给我的结果只有一个而不是三个。我试图寻找“FOR”语句,但它似乎只在存储过程中使用过。据推测,我对内部选择语句有疑问,如果您能对此问题有所了解,我将不胜感激。谢谢大家。
如何使用窗口函数?
select t1.ssn, t1.email
from (select t1.*,
row_number() over (partition by ssn order by timestamp desc) as seqnum
from table1 t1
where SSN in ('111111111', '222222222', '333333333')
) t
where seqnum = 1;
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句