【发布时间】:2012-10-15 15:39:09
【问题描述】:
当我尝试在配置单元中的 GroupBy 列上使用内置 UDF 函数或我自己的 UDF 函数时,我似乎遇到了错误
select col1, col2 from xyz group by my_func(col1), col2
它一直在抱怨column –col1 not found in group by expression。
【问题讨论】:
当我尝试在配置单元中的 GroupBy 列上使用内置 UDF 函数或我自己的 UDF 函数时,我似乎遇到了错误
select col1, col2 from xyz group by my_func(col1), col2
它一直在抱怨column –col1 not found in group by expression。
【问题讨论】:
当您将函数应用于列时,它不再被称为相同的东西。您应该使用 as 关键字明确命名它。
select group1, group2 from xyz group by my_func(col1) as group1, col2 as group2;
另外,如果您只选择分组依据的列,而不是实际分组的数据,那么distinct 可能比group by 更合适?
【讨论】:
对聚合函数的调用在错误的位置。应该是这样的:
从 xyz 组中选择 my_func(col1),col2 by col1,col2
【讨论】:
select col1, col2 from xyz group by my_func(col1) as col1, col2
基本是您的 GROUP BY 需要包含您在 SELECT 子句中提到的所有列。
【讨论】: