【发布时间】:2013-11-19 11:35:46
【问题描述】:
假设我有一个包含字段ID, Msg and time_id 的数据库表(帖子)。一个用户 (ID) 可以发布任意数量的消息。
我可以通过以下方式提取最后 15 条消息:
SELECT * FROM posts ORDER BY time_id DESC LIMIT 0,15
因为一个用户可以发布无限的消息,我需要避免显示来自一个用户的太多消息,所以我想限制一个用户最多 3 个帖子,但仍然获取 15 个。
如何获取最近 15 条最近的消息,并确保我从最近 15 条消息中可能有超过 3 条帖子的任何用户那里获得最多 3 条
【问题讨论】:
-
您在寻找
GROUP吗? -
发布您的表架构。
-
我认为 GROUP 在这里没有帮助,因为这会折叠每个用户的结果(消息)。您无法在数据库层应用任何逻辑来解决此问题,请在您的应用程序代码中执行。