【发布时间】:2015-11-04 03:28:24
【问题描述】:
有两个表jobs 和users。 users 与 jobs 具有一对多的关系。
我想获取所有完成 5 个或更多工作的用户的电子邮件。
下面的查询就是这样做的。但是,我怎样才能检索用户完成的最后一项工作的日期。 所以期望的输出是:
Email jobs done date of last of job
jack@email.com 5+ 1-20-2015
joe@email.com 5+ 2-20-2015
查询完成 5 次以上工作的用户的所有电子邮件
select
email
, case
when times_used >= 5
then '5+'
end as times_used
from
(
select
u.id
, u.email as email
, count(*) as times_used
from
jobs j
join users u on
j.user_id = u.id
group by
u.id
)
a
where
times_used >= 5
group by
times_used
, email
【问题讨论】:
标签: sql postgresql date count greatest-n-per-group