DB2 中的 SQL SELECT 查询

狡猾的

我需要为每个人获取与最新时间戳相匹配的 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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章