当前位置:  开发笔记 > 后端 > 正文

如何在MySQL中为每个用户选择最多3个项目?

如何解决《如何在MySQL中为每个用户选择最多3个项目?》经验,为你挑选了1个好方法。

我运行一个用户可以发布项目(例如图片)的网站.这些项目存储在MySQL数据库中.

我想查询最后十个发布的项目,但最多3个项目的约束可以来自任何单个用户.

这样做的最佳方式是什么?我首选的解决方案是一个约束,它放在请求最后十个项目的SQL查询上.但是关于如何设置数据库设计的想法非常受欢迎.

提前致谢!

BR



1> Incidently..:

使用相关的子查询非常简单:

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稍后添加更大的方法

相关的子查询是一个强大的工具!:-)


这不会排除所有拥有超过3个项目的人,而不是简单地将从他们获取的数字限制为3个吗?
推荐阅读
个性2402852463
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有