如何下载帖子表中的所有标签?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何下载帖子表中的所有标签?相关的知识,希望对你有一定的参考价值。
答案
这并不能完全解决您的问题,但至少它以更有用的方式表达了逻辑。
您正在查询错误的表格以解决此类问题。代替:
with pt as (
select pt.tagid, pt.postid, t.tagname
from posttags pt join
tags t
on pt.tagid = t.id
)
select pt.tagname, pt2.tagname, count(*)
from pt join
pt pt2
on pt.postid = pt2.postid and
pt.tagname < pt2.tagname
group by pt.tagname, pt2.tagname
order by count(*) desc;
您仍然限制为50,000行,但您要让数据库完成更多工作。
StackOverflow SEDE限制为50,000行。这就是它的工作原理。几年前,他们将数据移到BigQuery上 - 不幸的是稍微修改了模式(我真的很想知道为什么)。
无论如何,您可以在BQ上返回大型结果集。等效查询是:
#standardSQL
with pt as (
select pq.*, tag
from `bigquery-public-data.stackoverflow.posts_questions` pq cross join
unnest(split(pq.tags, '|')) tag
)
select pt.tag as tag1, pt2.tag as tag2, count(*) as cnt
from pt join
pt pt2
on pt2.id = pt.id and pt.tag < pt2.tag
group by 1, 2
order by count(*) desc;
这将返回所有4,689,465行结果 - 您可以将其保存在BigQuery表中或导出到文件并移动到另一个环境。
您可以注册BigQuery帐户并运行它。
以上是关于如何下载帖子表中的所有标签?的主要内容,如果未能解决你的问题,请参考以下文章
调用模板化成员函数:帮助我理解另一个 *** 帖子中的代码片段
如何从 Wordpress 页面/帖子中获取所有标签作为简码列表?