如何下载帖子表中的所有标签?

时间:2019-04-28 10:27:04

标签: sql tags posts

如果我在站点https://data.stackexchange.com中写“从帖子中选择标签,而标签不为空”,我只能下载50000行,并且希望所有行

希望有人可以提供帮助!

谢谢

1 个答案:

答案 0 :(得分:0)

这不能完全解决您的问题,但至少可以用更有用的方式表达逻辑。

您正在为此类问题查询错误的表。相反:

Option::map

您仍然限制为50,000行,但是您让数据库做更多的工作。

StackOverflow SEDE限制为50,000行。这就是它的工作原理。几年前,他们将数据移至BigQuery -不幸地修改了架构(我真的很想知道为什么)。

无论如何,您都可以在BQ上返回较大的结果集。等效查询为:

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;

这将返回所有4,689,465行结果-您可以将其保存在BigQuery表中或导出到文件并移至另一个环境。

您可以注册一个BigQuery帐户并运行它。