Mysql 了解标签、物品计数和查询
实际上,我正试图理解如何查询和计算标签和帖子,就像wordpress和stackexchange一样 表格帖子Mysql 了解标签、物品计数和查询,mysql,database,rdbms,Mysql,Database,Rdbms,实际上,我正试图理解如何查询和计算标签和帖子,就像wordpress和stackexchange一样 表格帖子 SELECT * FROM post JOIN tag ON (post.id=tag.post_id) WHERE post.id=2 SELECT * FROM tag JOIN post ON (tag.id=post.tags) WHERE tag.id=2 id | name |标签 1 |一个帖子| 1,2,3 2 | b post | 2,1 3 | c post
SELECT *
FROM post
JOIN tag ON (post.id=tag.post_id)
WHERE post.id=2
SELECT *
FROM tag
JOIN post
ON (tag.id=post.tags)
WHERE tag.id=2
id | name |标签
1 |一个帖子| 1,2,3
2 | b post | 2,1
3 | c post | 3,2
表格标签
id |标签| post|u id
1 | tag1 | 1,2
2 | tag2 | 1,2,3
3|tag3|1,3
查询以获取帖子2下的标签并计数
SELECT *
FROM post
JOIN tag ON (post.id=tag.post_id)
WHERE post.id=2
SELECT *
FROM tag
JOIN post
ON (tag.id=post.tags)
WHERE tag.id=2
查询以获取tag2下的帖子并计数
SELECT *
FROM post
JOIN tag ON (post.id=tag.post_id)
WHERE post.id=2
SELECT *
FROM tag
JOIN post
ON (tag.id=post.tags)
WHERE tag.id=2
你想做什么呢?在一篇文章中统计所有标签,在一个标签中统计所有文章。正如wordpress和stackoverflow所做的那样,如果您试图按照SELECT语句的建议使用SQL来实现这一点,那么您的标记和帖子之间的关系可能会更好地建模为多对多关系,其中有一个标记表、一个post表和一个post_标记表来描述两者之间的链接。然后,您可以对该中间表使用一个查询,根据标记Id或post Id进行分组,并计算其他关系。e、 g.选择postid,按postid从post_标签组中计数(1),以获取每篇文章的标签数。您尝试做什么?尝试计数&获取单个帖子下的所有标签,以及计数单个标签下的所有文章。正如wordpress和stackoverflow所做的那样,如果您试图按照SELECT语句的建议使用SQL来实现这一点,那么您的标记和帖子之间的关系可能会更好地建模为多对多关系,其中有一个标记表、一个post表和一个post_标记表来描述两者之间的链接。然后,您可以对该中间表使用一个查询,根据标记Id或post Id进行分组,并计算其他关系。e、 g.选择postid,按postid从post_标记组中计数(1),以获取每个post的标记计数。