我对的相关博客文章的表和标签为一个表,在它们之间具有许多对多的关系。

我怎样才能提取跨越的子集的最频繁的标签的相关博客文章的? (例如,只有那些从过去一年) 有一种方法,以提取所有具有相关博客文章子集<?/ P>相关联的标签的频率

由于

编辑:我的架构:

CREATE TABLE `tag` (
    `id` integer AUTO_INCREMENT NOT NULL PRIMARY KEY,
    `name` varchar(200) NOT NULL,
    `access` varchar(1),
    `linked_created` datetime
)
;

CREATE TABLE `blogpost_tags` (
    `id` integer AUTO_INCREMENT NOT NULL PRIMARY KEY,
    `blogpost_id` integer NOT NULL,
    `tag_id` integer NOT NULL,
    UNIQUE (`blogpost_id`, `tag_id`)
)
;

CREATE TABLE `blogpost` (
    `id` integer AUTO_INCREMENT NOT NULL PRIMARY KEY,
    `title` varchar(50),
    `body` varchar(500)
)
;
有帮助吗?

解决方案

(现在的模式已经被提供,除去我的示例架构和刚刚发布的查询)

Select T.name, Count(*) As UseCount
From Tag As T
    Join BlogPost_Tag As BPT
        On BPT.tag_Id = T.Id
    Join BlogPost As BP
        On BP.Id = BPT.blogpost_id
Where BP.Title Like '...'
Group By T.name
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top