假设我有许多标记实体(例如带有标记的博客文章)要存储在 SQL 数据库中。例如:
post1:工作 post2:工作、编程、java、工作 post3:工作、编程、sql post4:假期,照片 post5:假期 帖子6:照片
假设我还有一个标签列表
工作,假期
现在我想获得一个大小为 2 的帖子样本,即两个带有列表中标签的帖子。例如
示例 1:post1 和 post2 示例 2:post1 和 post4 示例 3:post2 和 post5
此外,我希望样本包含列表中的所有标签。请注意,sample1
不满足此要求,因为示例实体的标签集不包含vacation
列表中的标签。
我也希望所有标签的出现都是平等的。让我们考虑 2 个大小为 4 的样本。
示例 1:post1、post2、post3、post6 示例 2:post1、post3、post4、post5
请注意,sample1
不满足此要求,因为标签work
在其中出现了 3 次,并且vacation
只出现了一次。
我的问题是:如何设计一个关系数据库和 SQL 查询来检索给定大小的样本?