我运行一个用户可以发布项目(例如图片)的网站.这些项目存储在MySQL数据库中.
我想查询最后十个发布的项目,但最多3个项目的约束可以来自任何单个用户.
这样做的最佳方式是什么?我首选的解决方案是一个约束,它放在请求最后十个项目的SQL查询上.但是关于如何设置数据库设计的想法非常受欢迎.
提前致谢!
BR
使用相关的子查询非常简单:
SELECT `img`.`id` , `img`.`userid` FROM `img` WHERE 3 > ( SELECT count( * ) FROM `img` AS `img1` WHERE `img`.`userid` = `img1`.`userid` AND `img`.`id` > `img1`.`id` ) ORDER BY `img`.`id` DESC LIMIT 10
该查询假定id
稍后添加更大的方法
相关的子查询是一个强大的工具!:-)