gpt4 book ai didi

sql - 如何获取 PostgreSQL 中每个用户的最后编辑帖子?

转载 作者:行者123 更新时间:2023-11-29 11:49:32 25 4
gpt4 key购买 nike

我在两个表中有用户数据,例如

1. USERID | USERPOSTID

2. USERPOSTID | USERPOST | LAST_EDIT_TIME

如何为每个 用户获取最后编辑的帖子及其时间?假设每个用户有 5 个帖子,并且每个帖子至少被编辑一次。

我是否必须编写一个遍历每个用户的循环,找到具有 MAX(LAST_EDIT_TIME) 的 USERPOST,然后收集值?我试过 GROUP BY,但我不能将 USERPOSTID 或 USERPOST 放在聚合函数中。 TIA。

最佳答案

看起来像这样的东西应该工作:

create table users(
id serial primary key,
username varchar(50)
);

create table posts(
id serial primary key,
userid integer references users(id),
post_text text,
update_date timestamp default current_timestamp
);

insert into users(username)values('Kalpit');
insert into posts(userid,post_text)values(1,'first test');
insert into posts(userid,post_text)values(1,'second test');


select *
from users u
join posts p on p.userid = u.id
where p.update_date =
( select max( update_date )
from posts
where userid = u.id )

fiddle :http://sqlfiddle.com/#!15/4b240/4/0

关于sql - 如何获取 PostgreSQL 中每个用户的最后编辑帖子?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42961241/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com