我有一个像这样的表架构
并且表中有多个条目用于单个用户ID。
我想只为每个创建了最大或最新用户的用户提取这些数据。
我尝试了很多查询,但它不起作用。他们正在获取最早的数据。 我尝试了这些查询
select user, metadata, max(created)
from event_visitor
group by user
order by max(created)
和
SELECT ev1.user, ev1.metadata, ev1.created
from event_visitor ev1
inner join event_visitor ev2
on ev1.user=ev2.user
where ev1.created > ev2.created
group by user
请帮助
答案 0 :(得分:0)
您可以使用not exists
仅为每个用户选择最新行,方法是验证后来的'给定用户的记录不存在
即
select user, metadata, created
from event_visitor ev
where not exists (
select 1 from event_visitor ev2
where ev2.user = ev.user
and ev2.created > ev.created
)
答案 1 :(得分:0)
这个应该适合你:
SELECT * FROM
(
SELECT * FROM event_visitor
ORDER BY created DESC
) u
GROUP By user