Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 了解标签、物品计数和查询_Mysql_Database_Rdbms - Fatal编程技术网

Mysql 了解标签、物品计数和查询

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

实际上,我正试图理解如何查询和计算标签和帖子,就像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 | 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的标记计数。