2012-10-15 91 views
0

當我嘗試使用內置的UDF功能或在的GroupBy列我自己的UDF函數中使用集合函數在蜂房蜂房下面我似乎得到錯誤如何在GROUP BY列

select col1, col2 from xyz group by my_func(col1), col2 

它不斷抱怨column –col1 not found in group by expression

回答

1

對聚合函數的調用位置不正確。當您將函數列

選擇my_func,並將(COL1)由COL1從XYZ組,COL2,COL2

1

,它不再叫同樣的事情:它應該按如下方式進行。您應該使用as關鍵字明確命名它。

select group1, group2 from xyz group by my_func(col1) as group1, col2 as group2; 

另外,如果你只選擇你要通過分組的列,而不是實際的分組數據,也許distinct會比group by比較合適?

0
select col1, col2 from xyz group by my_func(col1) as col1, col2 

基本上是你的GROUP BY需要有你在SELECT子句中提到的所有列。