gpt4 book ai didi

php - 在另一个表的结果中选择每个具有 id 的第一条记录

转载 作者:太空宇宙 更新时间:2023-11-03 12:07:08 25 4
gpt4 key购买 nike

我有两个表,Users(id, username)Posts(id, user_id, content)。我想列出其中的摘要,我想列出所有用户和每个用户的第一篇文章。如何在一个查询中实现这一点?

我试过类似的东西。

查询

SELECT Users.*, Posts.content 
FROM Users, Posts
WHERE Posts.user_id=T_Users.id

但它会返回每个用户的所有帖子(我不能在尾部添加 LIMIT 1 当然只返回一个用户)。

一些示例记录:

用户表:

id   username
1 test1
2 test2

帖子表:

id   user_id content
1 1 This is a test1's content.
2 1 This is another test1's content.
3 2 This is a test2's content.

我想要结果:

Users.id    Users.username    Posts.content
1 test1 This is a test1's content.
2 test2 This is a test2's content.

最佳答案

这是一种获取每个用户最新记录的方法,我假设最新记录将被视为最小帖子 ID

SELECT u.*, p.content 
FROM Users u
join Posts p on p.user_id=u.id
join (select user_id ,min(id) id from Posts group by user_id ) p1
on (p.id = p1.id and p.user_id = p1.user_id )

Demo

关于php - 在另一个表的结果中选择每个具有 id 的第一条记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25989652/

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