我正在使用googlebigquery来分析amazon书评数据集。数据集有一个“有用”列,看起来像这样:“有用”:[0,0],其中第一个元素是“是”投票,第二个元素是“总计”投票。在
当我上传bigQuery中的数据时,它将列分成两行,因为它不支持数组格式。 bigQuery screenshot。 使用python pandas中的“apply series”方法,我可以将有用的列分成两列-“有用的投票”和“总投票”: jupyter notebook screenshot
如果我编写此查询以在BQ中执行相同的操作:
SELECT TA1.reviewerID, TA1.helpful AS yes, TA2.helpful AS total
FROM table_name as TA1
LEFT JOIN table_name as TA2
ON TA1.reviewerID = TA2.reviewerID and TA2.helpful != TA1.helpful
GROUP BY TA1.reviewerID
我得到以下错误: 错误:(L1:27):GROUP BY列表中不存在表达式“TA1.help”。在
在我的sqlite3中也可以使用相同的查询。我在BQ做错了什么?在
谢谢
下面是针对BigQuery标准SQL的
你可以用下面的虚拟数据来测试它
^{pr2}$查看更多关于Accessing Array Elements
如果出于某种原因您仍在使用BigQuery遗留SQL,您可以使用以下版本(同时请参见标准SQL的Migrating from legacy SQL,因为这是首选版本)
最后,如果您希望您的原始查询正常工作/修复-请参阅下面的内容并阅读有关GROUP BY如何工作的更多信息
相关问题 更多 >
编程相关推荐