減少函數

適用於:勾選“是”磚的SQL勾選“是”磚運行時

使用自定義聚合器聚合數組中的元素。

語法

減少expr,開始,合並(,完成

參數

  • expr: ARRAY表達式。

  • 開始:任何類型的初始值。

  • 合並:用於聚合當前元素的lambda函數。

  • 完成:用於完成聚合的可選lambda函數。

返回

屬性的結果類型匹配完成函數是否存在開始

將表達式應用於初始狀態和數組中的所有元素,並將其簡化為單個狀態。將最終狀態轉換為最終結果完成函數。

合並函數接受兩個參數。第一個是累加器,第二個是要聚合的元素。累加器和結果的類型必須為開始.可選完成函數接受一個參數並返回最終結果。

這個函數是聚合函數

例子

>選擇減少數組1,2,3.),0,acc,x->acc+x);6>選擇減少數組1,2,3.),0,acc,x->acc+x,acc->acc10);60>選擇減少數組1,2,3.,4),named_struct“和”,0,“問”,0),acc,x->named_struct“和”,acc總和+x,“問”,acc+1),acc->acc總和/acc作為avg25