我经营一个网站,用户可以在其中发布项目(例如图片)。这些项目存储在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
以后添加了较大的均值
相关子查询是一个强大的工具!:-)
问题内容: 我有一个项目数据库。每个项目都按类别表中的类别ID进行分类。我正在尝试创建一个列出每个类别的页面,并在每个类别下方显示该类别中的4个最新项目。 例如: 宠物用品 宠物食品 我知道我可以通过查询数据库来轻松解决此问题,如下所示: 然后遍历该数据并查询数据库中的每个类别以获取最新的项目: 我要弄清楚的是,我是否可以仅使用1个查询并获取所有这些数据。我有33个类别,因此我认为这可能有助于减少
问题内容: 在C#中将是这样的: Linq-To-Sql将其转换为以下T-SQL代码: 但是它与MySQL不兼容。 问题答案: 当我写 有用。在其他RDBMS中,IIRC这样的语句是不可能的,因为不属于任何组合键的不属于分组键的列就被引用了。 这种“怪癖”的行为与我想要的行为非常接近。所以我用它来获得想要的结果:
问题内容: 假设我有一个会议实体。每个会议都有一个与会者和一个会议日期。在我的会议表中,我可能会为每个与会者召开多个会议,每个会议的日期都不同。我需要一个JPA查询,该查询将仅为所有与会者选择最新的会议。例如,如果我的桌子看起来像这样 我的结果应该是 针对postgres使用JPA 2。会议有1-1个出席者和一个简单的时间戳记日期。我怀疑我需要和max(blah)做一个小组,也许还需要加入我自己的
我有一个Facelets页面,其中包含
问题内容: 我的数据如下所示: 我要完成的工作是按类别获取最新的2个条目(按insertdate DESC的顺序排列),因此结果应为: 使用获取最新消息很容易,但是如何在不启动多个查询的情况下获取最新2? 感谢您的帮助;-) S. 问题答案: 在这里,你哥们!
问题内容: 可以说我有一张叫Gamers的桌子。 玩家 包含列,,。 我有兴趣选择每个游戏中得分最高的球员。 例如, 查询后,我希望获得GamerID 4、5和8的行。执行该操作的查询是什么? 问题答案: 试试这个: 这将输出: 您可以做的另一种选择是创建一个临时表或视图(如果您不喜欢子查询)。 然后: 或视图: 然后: