mysql 限制连接
我已经对此主题进行了一些搜索,但似乎没有一个解决方案有效,所以也许我的要求略有不同。
基本上我有一个“内容”表和一个“file_screenshots”表。 “file_screenshots”表中的每一行都有一个“screenshot_content_id”列。我想从“内容”表中选择,加入“file_screenshots”表,但对于任何单个内容最多只能选择 5 个屏幕截图。
如果这不可能,我很乐意使用两个查询,但我再次不确定如何将结果限制为每条内容仅接收 5 个屏幕截图。
这是一个示例查询:
SELECT * FROM content
LEFT JOIN file_screenshots
ON file_screenshots.screenshot_content_id = content.content_id
WHERE content_type_id = 4
I've done a few searches on this subject but non of the solutions seem to work so perhaps my requirement is slightly different.
Basically I have a "content" table and a "file_screenshots" table. Each row in the "file_screenshots" table has a "screenshot_content_id" column. I want to select from the "content" table, join the "file_screenshots" table but only select a maximum of 5 screenshots for any single piece of content.
If this isn't possible i'm happy to use two queries, but again i'm not sure how to limit the results to only receiving 5 screenshots per piece of content.
Here is an example query:
SELECT * FROM content
LEFT JOIN file_screenshots
ON file_screenshots.screenshot_content_id = content.content_id
WHERE content_type_id = 4
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
假设您的
file_screenshots
表中有某种唯一的 id 列,这应该适合您:我已将 id 列命名为
id
。如有必要,将其重命名。如果您想要 id 最高的 5 个屏幕截图,请反转 fs2.id 与 fs.id 比较。
Assuming you have some sort of unique id column in your
file_screenshots
table, this should work for you:I've named the id column
id
. Rename it if neccessary.If you want the 5 screenshots with the highest id, reverse the fs2.id vs. fs.id comparison.