gpt4 book ai didi

mysql - 对 ID 有限制的 SQL SELECT

转载 作者:可可西里 更新时间:2023-11-01 07:45:01 24 4
gpt4 key购买 nike

假设我有一个包含字段 ID、Msg 和 time_id 的数据库表(帖子)。一个用户 (ID) 可以发布任意数量的消息。

我可以通过以下方式提取最后 15 条消息:

SELECT * FROM posts ORDER BY time_id DESC LIMIT 0,15

因为一个用户可以发布无限的消息,我需要避免显示来自一个用户的太多消息,所以我想限制一个用户最多 3 个帖子,但仍然获取 15 个。

我如何获取最近 15 条消息,并确保我从任何可能在最近 15 条消息中有超过 3 条帖子的用户那里获取最多 3 条消息

最佳答案

这可能对您有所帮助。您需要为此触发两个查询。

SELECT DISTINCT(userid) FROM `users` GROUP BY userid ORDER BY insertdate ASC LIMIt 3
for(){
SELECT msg FROM `msgtable` WHERE userid = forloopuserid ORDER BY insertdate DESC LIMIT 0,3
//store data in a user array
}

你的数组可能看起来像:

array(1=>array('msg1','msg2','msg3'),
2=>array('msg1','msg2','msg3')
);

关于mysql - 对 ID 有限制的 SQL SELECT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20070465/

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