答案 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帐户并运行它。