Google bigquery google bigquery中的ROWNUM或ROWID

Google bigquery google bigquery中的ROWNUM或ROWID,google-bigquery,Google Bigquery,将一些东西移植到bigquery时,遇到了一个问题。 我们有一堆没有唯一键值的数据。不幸的是,某些报表逻辑要求每行具有唯一的值 因此,在像Oracle这样的系统中,我只会使用ROWNUM或ROWIDpsudeo列 在vertica中,没有那些psudeo列,我会使用ROW\u NUMBER()OVER()。但在bigquery中,由于错误而失败: 'dataset:bqjob_r79e7b4147102bdd7_0000016482b3957c_1': Resources exceeded du

将一些东西移植到bigquery时,遇到了一个问题。 我们有一堆没有唯一键值的数据。不幸的是,某些报表逻辑要求每行具有唯一的值

因此,在像Oracle这样的系统中,我只会使用
ROWNUM
ROWID
psudeo列

在vertica中,没有那些psudeo列,我会使用
ROW\u NUMBER()OVER()
。但在bigquery中,由于错误而失败:

'dataset:bqjob_r79e7b4147102bdd7_0000016482b3957c_1': Resources exceeded during query execution: The query could not be executed in the allotted memory.
OVER() operator used too much memory..
该值不必是持久的,只是查询结果中的一个唯一值

如果可能,希望避免提取过程重新加载

那么,在BigQuerySQL中,有没有办法为查询结果行分配一个unqiue值呢

编辑:对不起,应该已经澄清了。使用标准sql而不是传统的

进行扩展时,需要使用分区


非常感谢。我自己应该想到的。非常感谢。
#standardSQL
SELECT *
  , FORMAT('%i-%i-%i', year, month, ROW_NUMBER() OVER(PARTITION BY year, month)) id
FROM `publicdata.samples.natality`