使用SPLIT()&NTH(),我将分割一个字符串值,并将第二个子字符串作为结果.然后我想对结果进行分组.但是,当我将SPLIT()与GROUP BY结合使用时,它会不断给出错误:
Error: (L1:55): Cannot group by an aggregate
Run Code Online (Sandbox Code Playgroud)
结果是一个字符串,为什么不能对它进行分组?
例如,这可以工作并返回正确的字符串:
SELECT NTH(2,SPLIT('FIRST-SECOND','-')) as second_part FROM [FOO.bar] limit 10
Run Code Online (Sandbox Code Playgroud)

但是然后对结果进行分组不起作用:
SELECT NTH(2,SPLIT('FIRST-SECOND','-')) as second_part FROM [FOO.bar] GROUP BY second_part limit 10
Run Code Online (Sandbox Code Playgroud)

我最好的猜测是你可以通过使用子查询获得相同的结果.就像是 :
SELECT * FROM (Select NTH(2,SPLIT('FIRST-SECOND','-')) as second_part FROM [FOO.bar] limit 10) GROUP BY second_part
Run Code Online (Sandbox Code Playgroud)
我想,系统在内部以聚合方式返回Nth
| 归档时间: |
|
| 查看次数: |
6299 次 |
| 最近记录: |