@@ -3148,16 +3148,20 @@ m:datetime | x:integer | d:boolean
31483148
31493149sumWithConditions
31503150required_capability: stats_with_filtered_surrogate_fixed
3151+ required_capability: aggregate_metric_double_convert_to
31513152
31523153FROM employees
3154+ | EVAL agg_metric = TO_AGGREGATE_METRIC_DOUBLE(1)
31533155| STATS sum1 = SUM(1),
31543156 sum2 = SUM(1) WHERE emp_no == 10080,
31553157 sum3 = SUM(1) WHERE emp_no < 10080,
3156- sum4 = SUM(1) WHERE emp_no >= 10080
3158+ sum4 = SUM(1) WHERE emp_no >= 10080,
3159+ sum5 = SUM(agg_metric),
3160+ sum6 = SUM(agg_metric) WHERE emp_no == 10080
31573161;
31583162
3159- sum1:long | sum2:long | sum3:long | sum4:long
3160- 100 | 1 | 79 | 21
3163+ sum1:long | sum2:long | sum3:long | sum4:long | sum5:double | sum6:double
3164+ 100 | 1 | 79 | 21 | 100.0 | 1.0
31613165;
31623166
31633167weightedAvgWithConditions
@@ -3168,11 +3172,13 @@ ROW x = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
31683172| STATS w_avg1 = WEIGHTED_AVG(x, 1) WHERE x == 5,
31693173 w_avg2 = WEIGHTED_AVG(x, x) WHERE x == 5,
31703174 w_avg3 = WEIGHTED_AVG(x, 2) WHERE x <= 5,
3171- w_avg4 = WEIGHTED_AVG(x, x) WHERE x > 5
3175+ w_avg4 = WEIGHTED_AVG(x, x) WHERE x > 5,
3176+ w_avg5 = WEIGHTED_AVG([1,2,3], 1),
3177+ w_avg6 = WEIGHTED_AVG([1,2,3], 1) WHERE x == 5
31723178;
31733179
3174- w_avg1:double | w_avg2:double | w_avg3:double | w_avg4:double
3175- 5.0 | 5.0 | 3.0 | 8.25
3180+ w_avg1:double | w_avg2:double | w_avg3:double | w_avg4:double | w_avg5:double | w_avg6:double
3181+ 5.0 | 5.0 | 3.0 | 8.25 | 2.0 | 2.0
31763182;
31773183
31783184maxWithConditions
@@ -3182,11 +3188,14 @@ required_capability: aggregate_metric_double_convert_to
31823188ROW x = [1, 2, 3, 4, 5]
31833189| MV_EXPAND x
31843190| EVAL agg_metric = TO_AGGREGATE_METRIC_DOUBLE(x)
3185- | STATS max = MAX(agg_metric) WHERE x <= 3
3191+ | STATS max1 = MAX(agg_metric) WHERE x <= 3,
3192+ max2 = MAX(agg_metric),
3193+ max3 = MAX(x),
3194+ max4 = MAX(x) WHERE x > 3
31863195;
31873196
3188- max :double
3189- 3.0
3197+ max1 :double | max2:double | max3:integer | max4:integer
3198+ 3.0 | 5.0 | 5 | 5
31903199;
31913200
31923201minWithConditions
@@ -3196,11 +3205,14 @@ required_capability: aggregate_metric_double_convert_to
31963205ROW x = [1, 2, 3, 4, 5]
31973206| MV_EXPAND x
31983207| EVAL agg_metric = TO_AGGREGATE_METRIC_DOUBLE(x)
3199- | STATS min = MIN(agg_metric) WHERE x >= 3
3208+ | STATS min1 = MIN(agg_metric) WHERE x <= 3,
3209+ min2 = MIN(agg_metric),
3210+ min3 = MIN(x),
3211+ min4 = MIN(x) WHERE x > 3
32003212;
32013213
3202- min :double
3203- 3.0
3214+ min1 :double | min2:double | min3:integer | min4:integer
3215+ 1.0 | 1.0 | 1 | 4
32043216;
32053217
32063218countWithConditions
@@ -3211,14 +3223,17 @@ ROW x = [1, 2, 3, 4, 5]
32113223| MV_EXPAND x
32123224| EVAL agg_metric = TO_AGGREGATE_METRIC_DOUBLE(x)
32133225| STATS count1 = COUNT(x) WHERE x >= 3,
3214- count2 = COUNT(agg_metric) WHERE x >=3,
3215- count3 = COUNT(4) WHERE x >= 3,
3216- count4 = COUNT(*) WHERE x >= 3,
3217- count5 = COUNT([1,2,3]) WHERE x >= 3
3226+ count2 = COUNT(x),
3227+ count3 = COUNT(agg_metric),
3228+ count4 = COUNT(agg_metric) WHERE x >=3,
3229+ count5 = COUNT(4) WHERE x >= 3,
3230+ count6 = COUNT(*) WHERE x >= 3,
3231+ count7 = COUNT([1,2,3]) WHERE x >= 3,
3232+ count8 = COUNT([1,2,3])
32183233;
32193234
3220- count1:long | count2:long | count3:long | count4:long | count5:long
3221- 3 | 3 | 3 | 3 | 9
3235+ count1:long | count2:long | count3:long | count4:long | count5:long | count6:long | count7:long | count8:long
3236+ 3 | 5 | 5 | 3 | 3 | 3 | 9 | 15
32223237;
32233238
32243239countDistinctWithConditions
@@ -3228,11 +3243,13 @@ ROW x = [1, 2, 3, 4, 5]
32283243| MV_EXPAND x
32293244| EVAL agg_metric = TO_AGGREGATE_METRIC_DOUBLE(x)
32303245| STATS count1 = COUNT_DISTINCT(x) WHERE x <= 3,
3231- count2 = COUNT_DISTINCT(1) WHERE x <= 3
3246+ count2 = COUNT_DISTINCT(x),
3247+ count3 = COUNT_DISTINCT(1) WHERE x <= 3,
3248+ count4 = COUNT_DISTINCT(1)
32323249;
32333250
3234- count1:long | count2:long
3235- 3 | 1
3251+ count1:long | count2:long | count3:long | count4:long
3252+ 3 | 5 | 1 | 1
32363253;
32373254
32383255avgWithConditions
@@ -3243,24 +3260,26 @@ ROW x = [1, 2, 3, 4, 5]
32433260| MV_EXPAND x
32443261| EVAL agg_metric = TO_AGGREGATE_METRIC_DOUBLE(x)
32453262| STATS avg1 = AVG(x) WHERE x <= 3,
3246- avg2 = AVG(agg_metric) WHERE x <=3
3263+ avg2 = AVG(x),
3264+ avg3 = AVG(agg_metric) WHERE x <=3,
3265+ avg4 = AVG(agg_metric)
32473266;
32483267
3249- avg1:double | avg2:double
3250- 2.0 | 2 .0
3268+ avg1:double | avg2:double | avg3:double | avg4:double
3269+ 2.0 | 3.0 | 2.0 | 3 .0
32513270;
32523271
32533272percentileWithConditions
32543273required_capability: stats_with_filtered_surrogate_fixed
32553274
32563275ROW x = [1, 2, 3, 4, 5]
32573276| MV_EXPAND x
3258- | STATS percentile1 = PERCENTILE(x, 100 ) WHERE x <= 3,
3259- percentile2 = PERCENTILE(x, 100 )
3277+ | STATS percentile1 = PERCENTILE(x, 50 ) WHERE x <= 3,
3278+ percentile2 = PERCENTILE(x, 50 )
32603279;
32613280
32623281percentile1:double | percentile2:double
3263- 3 .0 | 5 .0
3282+ 2 .0 | 3 .0
32643283;
32653284
32663285medianWithConditions
@@ -3270,25 +3289,27 @@ ROW x = [1, 2, 3, 4, 5]
32703289| MV_EXPAND x
32713290| STATS median1 = MEDIAN(x) WHERE x <= 3,
32723291 median2 = MEDIAN(x),
3273- median3 = MEDIAN([5,6,7,8,9]) WHERE x <= 3
3292+ median3 = MEDIAN([5,6,7,8,9]) WHERE x <= 3,
3293+ median4 = MEDIAN([5,6,7,8,9])
32743294;
32753295
3276- median1:double | median2:double | median3:double
3277- 2.0 | 3.0 | 7.0
3296+ median1:double | median2:double | median3:double | median4:double
3297+ 2.0 | 3.0 | 7.0 | 7.0
32783298;
32793299
32803300medianAbsoluteDeviationWithConditions
32813301required_capability: stats_with_filtered_surrogate_fixed
32823302
32833303ROW x = [1, 2, 3, 4, 5]
32843304| MV_EXPAND x
3285- | STATS median_deviation1 = MEDIAN_ABSOLUTE_DEVIATION(x) WHERE x <= 3,
3286- median_deviation2 = MEDIAN_ABSOLUTE_DEVIATION(x),
3287- median_deviation3 = MEDIAN_ABSOLUTE_DEVIATION([5,6,7,8,9]) WHERE x <= 3
3305+ | STATS median_dev1 = MEDIAN_ABSOLUTE_DEVIATION(x) WHERE x <= 3,
3306+ median_dev2 = MEDIAN_ABSOLUTE_DEVIATION(x),
3307+ median_dev3 = MEDIAN_ABSOLUTE_DEVIATION([5,6,7,8,9]) WHERE x <= 3,
3308+ median_dev4 = MEDIAN_ABSOLUTE_DEVIATION([5,6,7,8,9])
32883309;
32893310
3290- median_deviation1 :double | median_deviation2 :double | median_deviation3 :double
3291- 1.0 | 1.0 | 1.0
3311+ median_dev1 :double | median_dev2 :double | median_dev3 :double | median_dev4:double
3312+ 1.0 | 1.0 | 1.0 | 1.0
32923313;
32933314
32943315topWithConditions
0 commit comments