我正在构建一个 MySQL 标记数据库以允许用户标记产品。
我当前的设计使用这些表:
Account
id (PK)
username
Product
id (PK)
product_name
Product_Tag
id (PK)
product_id (FK to Product)
tag_id (FK to Tag)
account_id (FK to Account)
created_date
Tag
id (PK)
tag_name
请注意,在我的设计中,我正在跟踪哪个用户在何时标记了产品,并允许使用同一个标签多次标记产品,这样我就知道哪些标签对于给定产品最受欢迎。
我试图找出一个标签搜索查询,该查询返回被搜索标签标记最多的产品。例如,如果我查询“红色连衣裙”,则带有“红色”和“连衣裙”标签的产品应该出现在结果集中的顶部。什么查询可以用我现有的设计完成这个?