繁体   English   中英

SQL检索与最高日期匹配的ID(按另一个字段分组)

[英]SQL to retrieve id that match the highest date, grouped by another field

我有以下数据:

在此处输入图片说明

我想检索与最高日期匹配的ids (由max(folga) ), max(folga) funcionario_id分组。

这是我想要的输出表, 但是缺少id

在此处输入图片说明

我该如何实现?

感谢您的关注。

一种方法是使用NOT EXISTS

select
  t.funcionario_id, t.folga, t.id
from tablename t
where not exists (
  select 1 from tablename
  where funcionario_id = t.funcionario_id and folga > t.folga
)

或者,您可以group by funcionario_id以获取最大日期(我想这是返回您发布的结果的查询),然后加入表:

select t.*
from tablename t inner join (
  select funcionario_id, max(folga) folga
  from tablename
  group by funcionario_id 
) g on g.funcionario_id = t.funcionario_id and g.folga = t.folga

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM