diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate-sql/agg_null/agg_null.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate-sql/agg_null/agg_null.3.query.aql
index db3e6c1..51d6069 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate-sql/agg_null/agg_null.3.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate-sql/agg_null/agg_null.3.query.aql
@@ -24,4 +24,4 @@
 
 let $l1 := [null]
 let $l2 := {{null, null}}
-return { "sql-count1": sql-count($l1), "average1": sql-avg($l1), "sql-sum1": sql-sum($l1), "sql-min1": sql-min($l1), "sql-max1": sql-max($l1), "sql-stddev1": sql-stddev($l1), "sql-count2": sql-count($l2), "average2": sql-avg($l2), "sql-sum2": sql-sum($l2), "sql-min2": sql-min($l2), "sql-max2": sql-max($l2),  "sql-stddev2": sql-stddev($l2)}
+return { "sql-count1": sql-count($l1), "average1": sql-avg($l1), "sql-sum1": sql-sum($l1), "sql-min1": sql-min($l1), "sql-max1": sql-max($l1), "sql-stddev1": sql-stddev($l1), "sql-stddev_pop1": sql-stddev_pop($l1), "sql-count2": sql-count($l2), "average2": sql-avg($l2), "sql-sum2": sql-sum($l2), "sql-min2": sql-min($l2), "sql-max2": sql-max($l2),  "sql-stddev2": sql-stddev($l2), "sql-stddev_pop2": sql-stddev_pop($l2) }
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate-sql/agg_null_rec/agg_null_rec.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate-sql/agg_null_rec/agg_null_rec.3.query.aql
index 0e9081a..6fcde5c 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate-sql/agg_null_rec/agg_null_rec.3.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate-sql/agg_null_rec/agg_null_rec.3.query.aql
@@ -25,4 +25,4 @@
 use dataverse test;
 
 let $l := for $t in dataset Test return $t.valplus
-return { "sql-count": sql-count($l), "average": sql-avg($l), "sql-stddev": sql-stddev($l), "sql-sum": sql-sum($l), "sql-min": sql-min($l), "sql-max": sql-max($l) }
+return { "sql-count": sql-count($l), "average": sql-avg($l), "sql-stddev": sql-stddev($l), "sql-stddev_pop": sql-stddev_pop($l), "sql-sum": sql-sum($l), "sql-min": sql-min($l), "sql-max": sql-max($l) }
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate-sql/agg_null_rec_1/agg_null_rec_1.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate-sql/agg_null_rec_1/agg_null_rec_1.3.query.aql
index 121264d..fbdaa58 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate-sql/agg_null_rec_1/agg_null_rec_1.3.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate-sql/agg_null_rec_1/agg_null_rec_1.3.query.aql
@@ -27,4 +27,5 @@
 let $l := for $t in dataset Test return $t
 return { "sql-count": sql-count($l), "average": sql-avg(for $i in $l return $i.val), "sql-sum":
 sql-sum(for $i in $l return $i.val), "sql-stddev": sql-stddev(for $i in $l return $i.valplus),
-"sql-min": sql-min(for $i in $l return $i.valplus), "sql-max": sql-max(for $i in $l return $i.valplus) }
+"sql-stddev_pop": sql-stddev_pop(for $i in $l return $i.valplus), "sql-min": sql-min(for $i in $l return $i.valplus),
+"sql-max": sql-max(for $i in $l return $i.valplus) }
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate-sql/agg_number/agg_number.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate-sql/agg_number/agg_number.3.query.aql
index ea1db8a..eeab6ad 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate-sql/agg_number/agg_number.3.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate-sql/agg_number/agg_number.3.query.aql
@@ -30,5 +30,6 @@
 let $a4 := sql-min($l2)
 let $a5 := sql-max($l2)
 let $a6 := sql-stddev($l2)
-return { "sql-count1": sql-count($l1), "average1": sql-avg($l1), "sql-stddev1": sql-stddev($l1), "sql-sum1": sql-sum($l1), "sql-min1": sql-min($l1), "sql-max1": sql-max($l1), "sql-count2": $a1, "average2": $a2, "sql-stddev2": $a6, "sql-sum2": $a3, "sql-min2": $a4, "sql-max2": $a5 }
+let $a7 := sql-stddev_pop($l2)
+return { "sql-count1": sql-count($l1), "average1": sql-avg($l1), "sql-stddev1": sql-stddev($l1), "sql-stddev_pop1": sql-stddev_pop($l1), "sql-sum1": sql-sum($l1), "sql-min1": sql-min($l1), "sql-max1": sql-max($l1), "sql-count2": $a1, "average2": $a2, "sql-stddev2": $a6, "sql-stddev_pop2": $a7, "sql-sum2": $a3, "sql-min2": $a4, "sql-max2": $a5 }
 
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate-sql/agg_number_rec/agg_number_rec.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate-sql/agg_number_rec/agg_number_rec.3.query.aql
index 522b50e..cd93b51 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate-sql/agg_number_rec/agg_number_rec.3.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate-sql/agg_number_rec/agg_number_rec.3.query.aql
@@ -25,4 +25,4 @@
 use dataverse test;
 
 let $l := for $t in dataset Test return $t.valplus
-return { "sql-count": sql-count($l), "average": sql-avg($l), "sql-stddev": sql-stddev($l), "sql-sum": sql-sum($l), "sql-min": sql-min($l), "sql-max": sql-max($l) }
+return { "sql-count": sql-count($l), "average": sql-avg($l), "sql-stddev": sql-stddev($l), "sql-stddev_pop": sql-stddev_pop($l), "sql-sum": sql-sum($l), "sql-min": sql-min($l), "sql-max": sql-max($l) }
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/agg_null/agg_null.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/agg_null/agg_null.3.query.aql
index 5f39d47..92fc08f 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/agg_null/agg_null.3.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/agg_null/agg_null.3.query.aql
@@ -24,4 +24,4 @@
 
 let $l1 := [null]
 let $l2 := {{null, null}}
-return { "count1": count($l1), "average1": avg($l1), "sum1": sum($l1), "min1": min($l1), "max1": max($l1),"stddev1": stddev($l1), "count2": count($l2), "average2": avg($l2), "sum2": sum($l2), "min2": min($l2), "max2": max($l2), "stddev2": stddev($l2) }
+return { "count1": count($l1), "average1": avg($l1), "sum1": sum($l1), "min1": min($l1), "max1": max($l1),"stddev1": stddev($l1), "stddev_pop1": stddev_pop($l1), "count2": count($l2), "average2": avg($l2), "sum2": sum($l2), "min2": min($l2), "max2": max($l2), "stddev2": stddev($l2), "stddev_pop2": stddev_pop($l2) }
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/agg_null_rec/agg_null_rec.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/agg_null_rec/agg_null_rec.3.query.aql
index 5b14f2d..238fb4e 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/agg_null_rec/agg_null_rec.3.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/agg_null_rec/agg_null_rec.3.query.aql
@@ -25,4 +25,4 @@
 use dataverse test;
 
 let $l := for $t in dataset Test return $t.valplus
-return { "count": count($l), "average": avg($l), "stddev": stddev($l), "sum": sum($l), "min": min($l), "max": max($l) }
+return { "count": count($l), "average": avg($l), "stddev": stddev($l), "stddev_pop": stddev_pop($l), "sum": sum($l), "min": min($l), "max": max($l) }
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/agg_null_rec_1/agg_null_rec_1.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/agg_null_rec_1/agg_null_rec_1.3.query.aql
index 5b8a017..1e2dcd2 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/agg_null_rec_1/agg_null_rec_1.3.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/agg_null_rec_1/agg_null_rec_1.3.query.aql
@@ -27,4 +27,5 @@
 let $l := for $t in dataset Test return $t
 return { "count": count($l), "average": avg(for $i in $l return $i.val), "sum":
 sum(for $i in $l return $i.val), "stddev": stddev(for $i in $l return $i.val),
-"min": min(for $i in $l return $i.valplus), "max": max(for $i in $l return $i.valplus) }
+"stddev_pop": stddev_pop(for $i in $l return $i.val), "min": min(for $i in $l return $i.valplus),
+"max": max(for $i in $l return $i.valplus) }
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/agg_number/agg_number.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/agg_number/agg_number.3.query.aql
index 3ece422..98e996e 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/agg_number/agg_number.3.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/agg_number/agg_number.3.query.aql
@@ -30,5 +30,6 @@
 let $a4 := min($l2)
 let $a5 := max($l2)
 let $a6 := stddev($l2)
-return { "count1": count($l1), "average1": avg($l1), "stddev1": stddev($l1), "sum1": sum($l1), "min1": min($l1), "max1": max($l1), "count2": $a1, "average2": $a2, "stddev2": $a6, "sum2": $a3, "min2": $a4, "max2": $a5 }
+let $a7 := stddev_pop($l2)
+return { "count1": count($l1), "average1": avg($l1), "stddev1": stddev($l1), "stddev_pop1": stddev_pop($l1), "sum1": sum($l1), "min1": min($l1), "max1": max($l1), "count2": $a1, "average2": $a2, "stddev2": $a6, "stddev_pop2": $a7, "sum2": $a3, "min2": $a4, "max2": $a5 }
 
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/agg_number_rec/agg_number_rec.3.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/agg_number_rec/agg_number_rec.3.query.aql
index 220ff31..8dbb4d3 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/agg_number_rec/agg_number_rec.3.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/agg_number_rec/agg_number_rec.3.query.aql
@@ -25,4 +25,4 @@
 use dataverse test;
 
 let $l := for $t in dataset Test return $t.valplus
-return { "count": count($l), "average": avg($l), "stddev": stddev($l), "sum": sum($l), "min": min($l), "max": max($l) }
+return { "count": count($l), "average": avg($l), "stddev": stddev($l), "stddev_pop": stddev_pop($l), "sum": sum($l), "min": min($l), "max": max($l) }
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/agg_null/agg_null.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/agg_null/agg_null.3.query.sqlpp
index 9fd31d1..547b555 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/agg_null/agg_null.3.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/agg_null/agg_null.3.query.sqlpp
@@ -22,4 +22,4 @@
 * Date         : Feb 7th 2014
 */
 
-{'sql-count1':array_count([null]),'average1':array_avg([null]),'sql-sum1':array_sum([null]),'sql-min1':array_min([null]),'sql-max1':array_max([null]),'sql-stddev1':array_stddev([null]),'sql-count2':array_count({{null,null}}),'average2':array_avg({{null,null}}),'sql-sum2':array_sum({{null,null}}),'sql-min2':array_min({{null,null}}),'sql-max2':array_max({{null,null}}),'sql-stddev2':array_stddev({{null,null}})};
+{'sql-count1':array_count([null]),'average1':array_avg([null]),'sql-sum1':array_sum([null]),'sql-min1':array_min([null]),'sql-max1':array_max([null]),'sql-stddev1':array_stddev([null]),'sql-stddev_pop1':array_stddev_pop([null]),'sql-count2':array_count({{null,null}}),'average2':array_avg({{null,null}}),'sql-sum2':array_sum({{null,null}}),'sql-min2':array_min({{null,null}}),'sql-max2':array_max({{null,null}}),'sql-stddev2':array_stddev({{null,null}}),'sql-stddev_pop2':array_stddev_pop({{null,null}})};
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/agg_null_rec/agg_null_rec.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/agg_null_rec/agg_null_rec.3.query.sqlpp
index b5bdd81..1831367 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/agg_null_rec/agg_null_rec.3.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/agg_null_rec/agg_null_rec.3.query.sqlpp
@@ -43,4 +43,7 @@
 )),'sql-stddev':test.array_stddev((
     select element t.valplus
     from  Test as t
+)),'sql-stddev_pop':test.array_stddev_pop((
+    select element t.valplus
+    from  Test as t
 ))};
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/agg_null_rec_1/agg_null_rec_1.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/agg_null_rec_1/agg_null_rec_1.3.query.sqlpp
index 13c8be1..9a56d93 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/agg_null_rec_1/agg_null_rec_1.3.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/agg_null_rec_1/agg_null_rec_1.3.query.sqlpp
@@ -58,4 +58,10 @@
         select element t
         from  Test as t
     ) as i
+)),'sql-stddev_pop':test.array_stddev_pop((
+    select element i.valplus
+    from  (
+        select element t
+        from  Test as t
+    ) as i
 ))};
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/agg_number/agg_number.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/agg_number/agg_number.3.query.sqlpp
index 4776925..f76f7d6 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/agg_number/agg_number.3.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/agg_number/agg_number.3.query.sqlpp
@@ -22,4 +22,4 @@
 * Date         : Feb 7th 2014
 */
 
-{'sql-count1':array_count([float('2.0'),double('3.0'),93847382783847382,1]),'average1':array_avg([float('2.0'),double('3.0'),93847382783847382,1]),'sql-sum1':array_sum([float('2.0'),double('3.0'),93847382783847382,1]),'sql-min1':array_min([float('2.0'),double('3.0'),93847382783847382,1]),'sql-max1':array_max([float('2.0'),double('3.0'),93847382783847382,1]),'sql-stddev1':array_stddev([float('2.0'),double('3.0'),93847382783847382,1]),'sql-count2':array_count({{float('2.0'),double('3.0'),93847382783847382,1}}),'average2':array_avg({{float('2.0'),double('3.0'),93847382783847382,1}}),'sql-sum2':array_sum({{float('2.0'),double('3.0'),93847382783847382,1}}),'sql-min2':array_min({{float('2.0'),double('3.0'),93847382783847382,1}}),'sql-max2':array_max({{float('2.0'),double('3.0'),93847382783847382,1}}),'sql-stddev2':array_stddev({{float('2.0'),double('3.0'),93847382783847382,1}})};
+{'sql-count1':array_count([float('2.0'),double('3.0'),93847382783847382,1]),'average1':array_avg([float('2.0'),double('3.0'),93847382783847382,1]),'sql-sum1':array_sum([float('2.0'),double('3.0'),93847382783847382,1]),'sql-min1':array_min([float('2.0'),double('3.0'),93847382783847382,1]),'sql-max1':array_max([float('2.0'),double('3.0'),93847382783847382,1]),'sql-stddev1':array_stddev([float('2.0'),double('3.0'),93847382783847382,1]),'sql-stddev_pop1':array_stddev_pop([float('2.0'),double('3.0'),93847382783847382,1]),'sql-count2':array_count({{float('2.0'),double('3.0'),93847382783847382,1}}),'average2':array_avg({{float('2.0'),double('3.0'),93847382783847382,1}}),'sql-sum2':array_sum({{float('2.0'),double('3.0'),93847382783847382,1}}),'sql-min2':array_min({{float('2.0'),double('3.0'),93847382783847382,1}}),'sql-max2':array_max({{float('2.0'),double('3.0'),93847382783847382,1}}),'sql-stddev2':array_stddev({{float('2.0'),double('3.0'),93847382783847382,1}}),'sql-stddev_pop2':array_stddev_pop({{float('2.0'),double('3.0'),93847382783847382,1}})};
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/agg_number_rec/agg_number_rec.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/agg_number_rec/agg_number_rec.3.query.sqlpp
index faec87a..790e567 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/agg_number_rec/agg_number_rec.3.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/agg_number_rec/agg_number_rec.3.query.sqlpp
@@ -43,4 +43,7 @@
 )),'sql-stddev':test.array_stddev((
     select element t.valplus
     from  Test as t
+)),'sql-stddev_pop':test.array_stddev_pop((
+    select element t.valplus
+    from  Test as t
 ))};
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/scalar_stddev/scalar_stddev.1.ddl.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/scalar_stddev/scalar_stddev.1.ddl.sqlpp
index fbd4e19..7049419 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/scalar_stddev/scalar_stddev.1.ddl.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/scalar_stddev/scalar_stddev.1.ddl.sqlpp
@@ -17,7 +17,7 @@
  * under the License.
  */
 /*
- * Description    : Tests the scalar version of array_avg without nulls.
+ * Description    : Tests the scalar version of stddev and stddev_pop without nulls.
  * Success        : Yes
  */
 
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/scalar_stddev/scalar_stddev.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/scalar_stddev/scalar_stddev.3.query.sqlpp
index 8a4ed23..061da60 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/scalar_stddev/scalar_stddev.3.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/scalar_stddev/scalar_stddev.3.query.sqlpp
@@ -17,19 +17,26 @@
  * under the License.
  */
 /*
- * Description    : Tests the scalar version of array_stddev without nulls.
+ * Description    : Tests the scalar version of stddev and stddev_pop without nulls.
  * Success        : Yes
  */
 
 use test;
 
-
-with  i8 as test.array_stddev([test.tinyint('1'),test.tinyint('2'),test.tinyint('3')]),
+{'stddev': (with  i8 as test.array_stddev([test.tinyint('1'),test.tinyint('2'),test.tinyint('3')]),
       i16 as test.array_stddev([test.smallint('1'),test.smallint('2'),test.smallint('3')]),
       i32 as test.array_stddev([test.integer('1'),test.integer('2'),test.integer('3')]),
       i64 as test.array_stddev([test.bigint('1'),test.bigint('2'),test.bigint('3')]),
       f as test.array_stddev([test.float('1'),test.float('2'),test.float('3')]),
       d as test.array_stddev([test.double('1'),test.double('2'),test.double('3')])
 select element i
-from  [i8,i16,i32,i64,f,d] as i
-;
+from  [i8,i16,i32,i64,f,d] as i),
+'stddev_pop': (with  i8 as test.array_stddev_pop([test.tinyint('1'),test.tinyint('2'),test.tinyint('3')]),
+      i16 as test.array_stddev_pop([test.smallint('1'),test.smallint('2'),test.smallint('3')]),
+      i32 as test.array_stddev_pop([test.integer('1'),test.integer('2'),test.integer('3')]),
+      i64 as test.array_stddev_pop([test.bigint('1'),test.bigint('2'),test.bigint('3')]),
+      f as test.array_stddev_pop([test.float('1'),test.float('2'),test.float('3')]),
+      d as test.array_stddev_pop([test.double('1'),test.double('2'),test.double('3')])
+select element i
+from  [i8,i16,i32,i64,f,d] as i)
+};
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/scalar_stddev_empty/scalar_stddev_empty.1.ddl.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/scalar_stddev_empty/scalar_stddev_empty.1.ddl.sqlpp
index 430406c..63c85db 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/scalar_stddev_empty/scalar_stddev_empty.1.ddl.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/scalar_stddev_empty/scalar_stddev_empty.1.ddl.sqlpp
@@ -17,7 +17,7 @@
  * under the License.
  */
 /*
- * Description    : Tests the scalar version of array_avg with an empty list.
+ * Description    : Tests the scalar version of stddev and stddev_pop with an empty list.
  * Success        : Yes
  */
 
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/scalar_stddev_empty/scalar_stddev_empty.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/scalar_stddev_empty/scalar_stddev_empty.3.query.sqlpp
index 2b01753..f29f59a 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/scalar_stddev_empty/scalar_stddev_empty.3.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/scalar_stddev_empty/scalar_stddev_empty.3.query.sqlpp
@@ -17,8 +17,9 @@
  * under the License.
  */
 /*
- * Description    : Tests the scalar version of array_stddev with an empty list.
+ * Description    : Tests the scalar version of stddev and stddev_pop with an empty list.
  * Success        : Yes
  */
 
-select element array_stddev([]);
+{'stddev': (select element array_stddev([])),
+'stddev_pop': (select element array_stddev_pop([]))};
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/scalar_stddev_null/scalar_stddev_null.1.ddl.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/scalar_stddev_null/scalar_stddev_null.1.ddl.sqlpp
index 87b10c9..487d166 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/scalar_stddev_null/scalar_stddev_null.1.ddl.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/scalar_stddev_null/scalar_stddev_null.1.ddl.sqlpp
@@ -17,7 +17,7 @@
  * under the License.
  */
 /*
- * Description    : Tests the scalar version of array_avg with nulls.
+ * Description    : Tests the scalar version of stddev and stddev_pop with nulls.
  * Success        : Yes
  */
 
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/scalar_stddev_null/scalar_stddev_null.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/scalar_stddev_null/scalar_stddev_null.3.query.sqlpp
index e49076d..8a2db99 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/scalar_stddev_null/scalar_stddev_null.3.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/scalar_stddev_null/scalar_stddev_null.3.query.sqlpp
@@ -17,19 +17,26 @@
  * under the License.
  */
 /*
- * Description    : Tests the scalar version of array_stddev with nulls.
+ * Description    : Tests the scalar version of stddev and stddev_pop with nulls.
  * Success        : Yes
  */
 
 use test;
 
-
-with  i8 as test.array_stddev([test.tinyint('1'),test.tinyint('2'),test.tinyint('3'),null]),
+{'stddev': (with  i8 as test.array_stddev([test.tinyint('1'),test.tinyint('2'),test.tinyint('3'),null]),
       i16 as test.array_stddev([test.smallint('1'),test.smallint('2'),test.smallint('3'),null]),
       i32 as test.array_stddev([test.integer('1'),test.integer('2'),test.integer('3'),null]),
       i64 as test.array_stddev([test.bigint('1'),test.bigint('2'),test.bigint('3'),null]),
       f as test.array_stddev([test.float('1'),test.float('2'),test.float('3'),null]),
       d as test.array_stddev([test.double('1'),test.double('2'),test.double('3'),null])
 select element i
-from  [i8,i16,i32,i64,f,d] as i
-;
+from  [i8,i16,i32,i64,f,d] as i),
+'stddev_pop': (with  i8 as test.array_stddev_pop([test.tinyint('1'),test.tinyint('2'),test.tinyint('3'),null]),
+      i16 as test.array_stddev_pop([test.smallint('1'),test.smallint('2'),test.smallint('3'),null]),
+      i32 as test.array_stddev_pop([test.integer('1'),test.integer('2'),test.integer('3'),null]),
+      i64 as test.array_stddev_pop([test.bigint('1'),test.bigint('2'),test.bigint('3'),null]),
+      f as test.array_stddev_pop([test.float('1'),test.float('2'),test.float('3'),null]),
+      d as test.array_stddev_pop([test.double('1'),test.double('2'),test.double('3'),null])
+select element i
+from  [i8,i16,i32,i64,f,d] as i)
+};
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_stddev_double/serial_stddev_double.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_stddev_double/serial_stddev_double.3.query.sqlpp
index 1219f2e..d20e7c9 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_stddev_double/serial_stddev_double.3.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_stddev_double/serial_stddev_double.3.query.sqlpp
@@ -19,7 +19,7 @@
 
 use test;
 
-select gid, stddev(t.val) as stddev
+select gid, stddev(t.val) as stddev, stddev_pop(t.val) as stddev_pop
 from Test as t
 /* +hash */
 group by t.gid as gid;
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_stddev_double_null/serial_stddev_double_null.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_stddev_double_null/serial_stddev_double_null.3.query.sqlpp
index 2125b05..eb4bc56 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_stddev_double_null/serial_stddev_double_null.3.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_stddev_double_null/serial_stddev_double_null.3.query.sqlpp
@@ -19,7 +19,7 @@
 
 use test;
 
-select gid, stddev(t.valplus) as stddev
+select gid, stddev(t.valplus) as stddev, stddev_pop(t.valplus) as stddev_pop
 from Test as t
 /* +hash */
 group by t.gid as gid;
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_stddev_empty/serial_stddev_empty.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_stddev_empty/serial_stddev_empty.3.query.sqlpp
index 1219f2e..d20e7c9 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_stddev_empty/serial_stddev_empty.3.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_stddev_empty/serial_stddev_empty.3.query.sqlpp
@@ -19,7 +19,7 @@
 
 use test;
 
-select gid, stddev(t.val) as stddev
+select gid, stddev(t.val) as stddev, stddev_pop(t.val) as stddev_pop
 from Test as t
 /* +hash */
 group by t.gid as gid;
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_stddev_float/serial_stddev_float.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_stddev_float/serial_stddev_float.3.query.sqlpp
index 1219f2e..d20e7c9 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_stddev_float/serial_stddev_float.3.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_stddev_float/serial_stddev_float.3.query.sqlpp
@@ -19,7 +19,7 @@
 
 use test;
 
-select gid, stddev(t.val) as stddev
+select gid, stddev(t.val) as stddev, stddev_pop(t.val) as stddev_pop
 from Test as t
 /* +hash */
 group by t.gid as gid;
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_stddev_float_null/serial_stddev_float_null.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_stddev_float_null/serial_stddev_float_null.3.query.sqlpp
index 2125b05..eb4bc56 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_stddev_float_null/serial_stddev_float_null.3.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_stddev_float_null/serial_stddev_float_null.3.query.sqlpp
@@ -19,7 +19,7 @@
 
 use test;
 
-select gid, stddev(t.valplus) as stddev
+select gid, stddev(t.valplus) as stddev, stddev_pop(t.valplus) as stddev_pop
 from Test as t
 /* +hash */
 group by t.gid as gid;
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_stddev_int16/serial_stddev_int16.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_stddev_int16/serial_stddev_int16.3.query.sqlpp
index 1219f2e..d20e7c9 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_stddev_int16/serial_stddev_int16.3.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_stddev_int16/serial_stddev_int16.3.query.sqlpp
@@ -19,7 +19,7 @@
 
 use test;
 
-select gid, stddev(t.val) as stddev
+select gid, stddev(t.val) as stddev, stddev_pop(t.val) as stddev_pop
 from Test as t
 /* +hash */
 group by t.gid as gid;
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_stddev_int16_null/serial_stddev_int16_null.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_stddev_int16_null/serial_stddev_int16_null.3.query.sqlpp
index 2125b05..eb4bc56 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_stddev_int16_null/serial_stddev_int16_null.3.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_stddev_int16_null/serial_stddev_int16_null.3.query.sqlpp
@@ -19,7 +19,7 @@
 
 use test;
 
-select gid, stddev(t.valplus) as stddev
+select gid, stddev(t.valplus) as stddev, stddev_pop(t.valplus) as stddev_pop
 from Test as t
 /* +hash */
 group by t.gid as gid;
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_stddev_int32/serial_stddev_int32.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_stddev_int32/serial_stddev_int32.3.query.sqlpp
index 1219f2e..d20e7c9 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_stddev_int32/serial_stddev_int32.3.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_stddev_int32/serial_stddev_int32.3.query.sqlpp
@@ -19,7 +19,7 @@
 
 use test;
 
-select gid, stddev(t.val) as stddev
+select gid, stddev(t.val) as stddev, stddev_pop(t.val) as stddev_pop
 from Test as t
 /* +hash */
 group by t.gid as gid;
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_stddev_int32_null/serial_stddev_int32_null.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_stddev_int32_null/serial_stddev_int32_null.3.query.sqlpp
index 2125b05..eb4bc56 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_stddev_int32_null/serial_stddev_int32_null.3.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_stddev_int32_null/serial_stddev_int32_null.3.query.sqlpp
@@ -19,7 +19,7 @@
 
 use test;
 
-select gid, stddev(t.valplus) as stddev
+select gid, stddev(t.valplus) as stddev, stddev_pop(t.valplus) as stddev_pop
 from Test as t
 /* +hash */
 group by t.gid as gid;
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_stddev_int64/serial_stddev_int64.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_stddev_int64/serial_stddev_int64.3.query.sqlpp
index 1219f2e..d20e7c9 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_stddev_int64/serial_stddev_int64.3.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_stddev_int64/serial_stddev_int64.3.query.sqlpp
@@ -19,7 +19,7 @@
 
 use test;
 
-select gid, stddev(t.val) as stddev
+select gid, stddev(t.val) as stddev, stddev_pop(t.val) as stddev_pop
 from Test as t
 /* +hash */
 group by t.gid as gid;
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_stddev_int64_null/serial_stddev_int64_null.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_stddev_int64_null/serial_stddev_int64_null.3.query.sqlpp
index 2125b05..eb4bc56 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_stddev_int64_null/serial_stddev_int64_null.3.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_stddev_int64_null/serial_stddev_int64_null.3.query.sqlpp
@@ -19,7 +19,7 @@
 
 use test;
 
-select gid, stddev(t.valplus) as stddev
+select gid, stddev(t.valplus) as stddev, stddev_pop(t.valplus) as stddev_pop
 from Test as t
 /* +hash */
 group by t.gid as gid;
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_stddev_int8/serial_stddev_int8.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_stddev_int8/serial_stddev_int8.3.query.sqlpp
index 1219f2e..d20e7c9 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_stddev_int8/serial_stddev_int8.3.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_stddev_int8/serial_stddev_int8.3.query.sqlpp
@@ -19,7 +19,7 @@
 
 use test;
 
-select gid, stddev(t.val) as stddev
+select gid, stddev(t.val) as stddev, stddev_pop(t.val) as stddev_pop
 from Test as t
 /* +hash */
 group by t.gid as gid;
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_stddev_int8_null/serial_stddev_int8_null.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_stddev_int8_null/serial_stddev_int8_null.3.query.sqlpp
index 2125b05..eb4bc56 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_stddev_int8_null/serial_stddev_int8_null.3.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_stddev_int8_null/serial_stddev_int8_null.3.query.sqlpp
@@ -19,7 +19,7 @@
 
 use test;
 
-select gid, stddev(t.valplus) as stddev
+select gid, stddev(t.valplus) as stddev, stddev_pop(t.valplus) as stddev_pop
 from Test as t
 /* +hash */
 group by t.gid as gid;
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_stddev_pop_mixed/serial_stddev_pop_mixed.1.ddl.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_stddev_pop_mixed/serial_stddev_pop_mixed.1.ddl.sqlpp
new file mode 100644
index 0000000..da0bd7b
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_stddev_pop_mixed/serial_stddev_pop_mixed.1.ddl.sqlpp
@@ -0,0 +1,33 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+drop  dataverse test if exists;
+create  dataverse test;
+
+use test;
+
+
+create type test.TestType as
+{
+  id : bigint,
+  gid : bigint,
+  val : double
+};
+
+create  dataset Test(TestType) primary key id;
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_stddev_pop_mixed/serial_stddev_pop_mixed.2.update.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_stddev_pop_mixed/serial_stddev_pop_mixed.2.update.sqlpp
new file mode 100644
index 0000000..8c0b731
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_stddev_pop_mixed/serial_stddev_pop_mixed.2.update.sqlpp
@@ -0,0 +1,29 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+use test;
+
+insert into Test
+select element {'id':0,'gid':1,'val':double(4.32),'valplus':float('2.0')};
+insert into Test
+select element {'id':1,'gid':1,'val':double(5.32)};
+insert into Test
+select element {'id':2,'gid':1,'val':double(6.32),'valplus':'hello world'};
+insert into Test
+select element {'id':3,'gid':1,'val':double(4.32),'valplus':double('3.0')};
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_stddev_pop_mixed/serial_stddev_pop_mixed.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_stddev_pop_mixed/serial_stddev_pop_mixed.3.query.sqlpp
new file mode 100644
index 0000000..207b139
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_stddev_pop_mixed/serial_stddev_pop_mixed.3.query.sqlpp
@@ -0,0 +1,30 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+ /*
+ * Description  : Run serial-stddev over an ordered list with mixed types
+ * Expected Res : Failure
+ * Date         : March 5th 2018
+ */
+
+use test;
+
+select gid, array_stddev_pop((select value g.valplus from g)) as stddev_pop
+from Test as t
+/* +hash */
+group by t.gid as gid group as g(valplus as valplus);
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/stddev_distinct/stddev_distinct.1.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/stddev_distinct/stddev_distinct.1.query.sqlpp
new file mode 100644
index 0000000..37606a1
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/stddev_distinct/stddev_distinct.1.query.sqlpp
@@ -0,0 +1,28 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+ {
+   't1': to_bigint(array_stddev(distinct [10,20,30,10,20,30,10])),
+   't2': to_bigint(array_stddev(distinct [null,missing,null,missing])),
+   't3': to_bigint(array_stddev(distinct [40,null,missing,50,40,null,missing,50,40])),
+   't4': to_bigint(array_stddev(distinct [])),
+   't5': to_bigint(array_stddev_pop(distinct [10,20,30,10,20,30,10])),
+   't6': to_bigint(array_stddev_pop(distinct [null,missing,null,missing])),
+   't7': to_bigint(array_stddev_pop(distinct [40,null,missing,50,40,null,missing,50,40])),
+   't8': to_bigint(array_stddev_pop(distinct []))
+ };
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/stddev_double/stddev_double.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/stddev_double/stddev_double.3.query.sqlpp
index 4a539ed..ff20386 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/stddev_double/stddev_double.3.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/stddev_double/stddev_double.3.query.sqlpp
@@ -17,7 +17,10 @@
  * under the License.
  */
 
-select element array_stddev((
+{'stddev': (select element array_stddev((
     select element x
     from  [1.0,2.0,double('3.0')] as x
-));
+))), 'stddev_pop': (select element array_stddev_pop((
+    select element x
+    from  [1.0,2.0,double('3.0')] as x
+)))};
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/stddev_double_null/stddev_double_null.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/stddev_double_null/stddev_double_null.3.query.sqlpp
index c06f58d..3899ca2 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/stddev_double_null/stddev_double_null.3.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/stddev_double_null/stddev_double_null.3.query.sqlpp
@@ -23,4 +23,7 @@
 {'stddev':test.array_stddev((
     select element x.doubleField
     from  Numeric as x
+)), 'stddev_pop':test.array_stddev_pop((
+    select element x.doubleField
+    from  Numeric as x
 ))};
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/stddev_empty_01/stddev_empty_01.1.ddl.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/stddev_empty_01/stddev_empty_01.1.ddl.sqlpp
index a6590c5..e2d346b 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/stddev_empty_01/stddev_empty_01.1.ddl.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/stddev_empty_01/stddev_empty_01.1.ddl.sqlpp
@@ -17,7 +17,7 @@
  * under the License.
  */
 /*
- * Description    : Tests that array_avg aggregation correctly returns null for an empty stream,
+ * Description    : Tests that array_stddev aggregation correctly returns null for an empty stream,
  *                  without an aggregate combiner.
  * Success        : Yes
  */
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/stddev_empty_01/stddev_empty_01.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/stddev_empty_01/stddev_empty_01.3.query.sqlpp
index 8331de0..988b1e6 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/stddev_empty_01/stddev_empty_01.3.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/stddev_empty_01/stddev_empty_01.3.query.sqlpp
@@ -17,7 +17,7 @@
  * under the License.
  */
 /*
- * Description    : Tests that array_stddev aggregation correctly returns null for an empty stream,
+ * Description    : Tests that stddev and stddev_pop aggregation correctly returns null for an empty stream,
  *                  without an aggregate combiner.
  * Success        : Yes
  */
@@ -25,8 +25,12 @@
 use test;
 
 
-select element test.array_stddev((
+{'stddev': (select element test.array_stddev((
     select element x
     from  [1,2,3] as x
     where (x > 10)
-));
+))), 'stddev_pop': (select element test.array_stddev_pop((
+    select element x
+    from  [1,2,3] as x
+    where (x > 10)
+)))};
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/stddev_empty_02/stddev_empty_02.1.ddl.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/stddev_empty_02/stddev_empty_02.1.ddl.sqlpp
index b9cd662..444cfb2 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/stddev_empty_02/stddev_empty_02.1.ddl.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/stddev_empty_02/stddev_empty_02.1.ddl.sqlpp
@@ -17,7 +17,7 @@
  * under the License.
  */
 /*
- * Description    : Tests that array_avg aggregation correctly returns null for an empty stream,
+ * Description    : Tests that array_stddev aggregation correctly returns null for an empty stream,
  *                  with an aggregate combiner.
  * Success        : Yes
  */
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/stddev_empty_02/stddev_empty_02.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/stddev_empty_02/stddev_empty_02.3.query.sqlpp
index bfbe1b1..3ad8d1b 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/stddev_empty_02/stddev_empty_02.3.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/stddev_empty_02/stddev_empty_02.3.query.sqlpp
@@ -17,7 +17,7 @@
  * under the License.
  */
 /*
- * Description    : Tests that array_stddev aggregation correctly returns null for an empty stream,
+ * Description    : Tests that stddev and stddev_pop aggregation correctly returns null for an empty stream,
  *                  with an aggregate combiner.
  * Success        : Yes
  */
@@ -25,7 +25,10 @@
 use test;
 
 
-select element test.array_stddev((
+{'stddev': (select element test.array_stddev((
     select element x.val
     from  Test as x
-));
+))), 'stddev_pop': (select element test.array_stddev_pop((
+    select element x.val
+    from  Test as x
+)))};
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/stddev_float/stddev_float.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/stddev_float/stddev_float.3.query.sqlpp
index cb51c3d..a4baabb 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/stddev_float/stddev_float.3.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/stddev_float/stddev_float.3.query.sqlpp
@@ -20,7 +20,10 @@
 use test;
 
 
-select element test.array_stddev((
+{'stddev': (select element test.array_stddev((
     select element x
     from  [test.float('1'),test.float('2'),test.float('3')] as x
-));
+))), 'stddev_pop': (select element test.array_stddev_pop((
+    select element x
+    from  [test.float('1'),test.float('2'),test.float('3')] as x
+)))};
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/stddev_float_null/stddev_float_nu.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/stddev_float_null/stddev_float_nu.3.query.sqlpp
index c85ce12..8a1abff 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/stddev_float_null/stddev_float_nu.3.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/stddev_float_null/stddev_float_nu.3.query.sqlpp
@@ -23,4 +23,7 @@
 {'stddev':test.array_stddev((
     select element x.floatField
     from  Numeric as x
+)), 'stddev_pop':test.array_stddev_pop((
+    select element x.floatField
+    from  Numeric as x
 ))};
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/stddev_int16/stddev_int16.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/stddev_int16/stddev_int16.3.query.sqlpp
index c5360e9..2ad24ab 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/stddev_int16/stddev_int16.3.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/stddev_int16/stddev_int16.3.query.sqlpp
@@ -20,7 +20,10 @@
 use test;
 
 
-select element test.array_stddev((
+{'stddev': (select element test.array_stddev((
     select element x
     from  [test.smallint('1'),test.smallint('2'),test.smallint('3')] as x
-));
+))), 'stddev_pop': (select element test.array_stddev_pop((
+    select element x
+    from  [test.smallint('1'),test.smallint('2'),test.smallint('3')] as x
+)))};
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/stddev_int16_null/stddev_int16_null.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/stddev_int16_null/stddev_int16_null.3.query.sqlpp
index f89e1ec..2da44d4 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/stddev_int16_null/stddev_int16_null.3.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/stddev_int16_null/stddev_int16_null.3.query.sqlpp
@@ -23,4 +23,7 @@
 {'stddev':test.array_stddev((
     select element x.int16Field
     from  Numeric as x
+)), 'stddev_pop':test.array_stddev_pop((
+    select element x.int16Field
+    from  Numeric as x
 ))};
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/stddev_int32/stddev_int32.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/stddev_int32/stddev_int32.3.query.sqlpp
index afbe777..b8a59c3 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/stddev_int32/stddev_int32.3.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/stddev_int32/stddev_int32.3.query.sqlpp
@@ -20,7 +20,10 @@
 use test;
 
 
-select element test.array_stddev((
+{'stddev': (select element test.array_stddev((
     select element x
     from  [test.integer('1'),test.integer('2'),test.integer('3')] as x
-));
+))), 'stddev_pop': (select element test.array_stddev_pop((
+    select element x
+    from  [test.integer('1'),test.integer('2'),test.integer('3')] as x
+)))};
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/stddev_int32_null/stddev_int32_null.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/stddev_int32_null/stddev_int32_null.3.query.sqlpp
index a76ea4a..4d0ff58 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/stddev_int32_null/stddev_int32_null.3.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/stddev_int32_null/stddev_int32_null.3.query.sqlpp
@@ -23,4 +23,7 @@
 {'stddev':test.array_stddev((
     select element x.int32Field
     from  Numeric as x
+)), 'stddev_pop':test.array_stddev_pop((
+    select element x.int32Field
+    from  Numeric as x
 ))};
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/stddev_int64/stddev_int64.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/stddev_int64/stddev_int64.3.query.sqlpp
index 17e2285..cf0fa59 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/stddev_int64/stddev_int64.3.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/stddev_int64/stddev_int64.3.query.sqlpp
@@ -20,7 +20,10 @@
 use test;
 
 
-select element test.array_stddev((
+{'stddev': (select element test.array_stddev((
     select element x
     from  [test.bigint('1'),test.bigint('2'),test.bigint('3')] as x
-));
+))), 'stddev_pop': (select element test.array_stddev_pop((
+    select element x
+    from  [test.bigint('1'),test.bigint('2'),test.bigint('3')] as x
+)))};
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/stddev_int64_null/stddev_int64_null.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/stddev_int64_null/stddev_int64_null.3.query.sqlpp
index 5ed6db6..7aa502c 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/stddev_int64_null/stddev_int64_null.3.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/stddev_int64_null/stddev_int64_null.3.query.sqlpp
@@ -23,4 +23,7 @@
 {'stddev':test.array_stddev((
     select element x.int64Field
     from  Numeric as x
+)), 'stddev_pop':test.array_stddev_pop((
+    select element x.int64Field
+    from  Numeric as x
 ))};
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/stddev_int8/stddev_int8.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/stddev_int8/stddev_int8.3.query.sqlpp
index 6efdcaf..016b368 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/stddev_int8/stddev_int8.3.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/stddev_int8/stddev_int8.3.query.sqlpp
@@ -20,7 +20,10 @@
 use test;
 
 
-select element test.array_stddev((
+{'stddev': (select element test.array_stddev((
     select element x
     from  [test.tinyint('1'),test.tinyint('2'),test.tinyint('3')] as x
-));
+))), 'stddev_pop': (select element test.array_stddev_pop((
+    select element x
+    from  [test.tinyint('1'),test.tinyint('2'),test.tinyint('3')] as x
+)))};
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/stddev_int8_null/stddev_int8_null.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/stddev_int8_null/stddev_int8_null.3.query.sqlpp
index 1001843..f7e4dbe 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/stddev_int8_null/stddev_int8_null.3.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/stddev_int8_null/stddev_int8_null.3.query.sqlpp
@@ -23,4 +23,7 @@
 {'stddev':test.array_stddev((
     select element x.int8Field
     from  Numeric as x
+)), 'stddev_pop':test.array_stddev_pop((
+    select element x.int8Field
+    from  Numeric as x
 ))};
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/stddev_mixed/stddev_mixed.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/stddev_mixed/stddev_mixed.3.query.sqlpp
index 69ad38c..9eb1323 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/stddev_mixed/stddev_mixed.3.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/stddev_mixed/stddev_mixed.3.query.sqlpp
@@ -17,7 +17,7 @@
  * under the License.
  */
 /*
-* Description  : Run array_avg over an ordered list with mixed types
+* Description  : Run array_stddev over an ordered list with mixed types
 * Expected Res : Failure
 * Date         : March 5th 2018
 */
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/stddev_pop_mixed/stddev_pop_mixed.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/stddev_pop_mixed/stddev_pop_mixed.3.query.sqlpp
new file mode 100644
index 0000000..64538e8
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/stddev_pop_mixed/stddev_pop_mixed.3.query.sqlpp
@@ -0,0 +1,28 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+/*
+* Description  : Run array_stddev_pop over an ordered list with mixed types
+* Expected Res : Failure
+* Date         : Feb 7th 2014
+*/
+
+select element array_stddev_pop((
+    select element x
+    from  [float('2.0'),'hello world',93847382783847382,date('2013-01-01')] as x
+));
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/agg_null/agg_null.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/agg_null/agg_null.3.query.sqlpp
index 062cb48..f1eb9dd 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/agg_null/agg_null.3.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/agg_null/agg_null.3.query.sqlpp
@@ -22,4 +22,4 @@
 * Date         : Jun 2nd 2013
 */
 
-{'count1':strict_count([null]),'average1':strict_avg([null]),'sum1':strict_sum([null]),'min1':strict_min([null]),'max1':strict_max([null]),'stddev1':strict_stddev([null]),'count2':strict_count({{null,null}}),'average2':strict_avg({{null,null}}),'sum2':strict_sum({{null,null}}),'min2':strict_min({{null,null}}),'max2':strict_max({{null,null}}),'stddev2':strict_stddev({{null,null}})};
+{'count1':strict_count([null]),'average1':strict_avg([null]),'sum1':strict_sum([null]),'min1':strict_min([null]),'max1':strict_max([null]),'stddev1':strict_stddev([null]),'stddev_pop1':strict_stddev_pop([null]),'count2':strict_count({{null,null}}),'average2':strict_avg({{null,null}}),'sum2':strict_sum({{null,null}}),'min2':strict_min({{null,null}}),'max2':strict_max({{null,null}}),'stddev2':strict_stddev({{null,null}}),'stddev_pop2':strict_stddev_pop({{null,null}})};
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/agg_null_rec/agg_null_rec.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/agg_null_rec/agg_null_rec.3.query.sqlpp
index 88c86f5..6796570 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/agg_null_rec/agg_null_rec.3.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/agg_null_rec/agg_null_rec.3.query.sqlpp
@@ -43,4 +43,7 @@
 )), 'stddev':test.strict_stddev((
     select element t.valplus
     from  Test as t
+)), 'stddev_pop':test.strict_stddev_pop((
+    select element t.valplus
+    from  Test as t
 ))};
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/agg_null_rec_1/agg_null_rec_1.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/agg_null_rec_1/agg_null_rec_1.3.query.sqlpp
index bf316da..e58aefb 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/agg_null_rec_1/agg_null_rec_1.3.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/agg_null_rec_1/agg_null_rec_1.3.query.sqlpp
@@ -58,4 +58,10 @@
         select element t
         from  Test as t
     ) as i
+)),'stddev_pop':test.strict_stddev_pop((
+    select element i.val
+    from  (
+        select element t
+        from  Test as t
+    ) as i
 ))};
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/agg_number/agg_number.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/agg_number/agg_number.3.query.sqlpp
index e8385ca..680f5c9 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/agg_number/agg_number.3.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/agg_number/agg_number.3.query.sqlpp
@@ -22,4 +22,4 @@
 * Date         : Jun 2nd 2013
 */
 
-{'count1':strict_count([float('2.0'),double('3.0'),93847382783847382,1]),'average1':strict_avg([float('2.0'),double('3.0'),93847382783847382,1]),'sum1':strict_sum([float('2.0'),double('3.0'),93847382783847382,1]),'min1':strict_min([float('2.0'),double('3.0'),93847382783847382,1]),'max1':strict_max([float('2.0'),double('3.0'),93847382783847382,1]),'stddev1':strict_stddev([float('2.0'),double('3.0'),93847382783847382,1]),'count2':strict_count({{float('2.0'),double('3.0'),93847382783847382,1}}),'average2':strict_avg({{float('2.0'),double('3.0'),93847382783847382,1}}),'sum2':strict_sum({{float('2.0'),double('3.0'),93847382783847382,1}}),'min2':strict_min({{float('2.0'),double('3.0'),93847382783847382,1}}),'max2':strict_max({{float('2.0'),double('3.0'),93847382783847382,1}}),'stddev2':strict_stddev([float('2.0'),double('3.0'),93847382783847382,1])};
\ No newline at end of file
+{'count1':strict_count([float('2.0'),double('3.0'),93847382783847382,1]),'average1':strict_avg([float('2.0'),double('3.0'),93847382783847382,1]),'sum1':strict_sum([float('2.0'),double('3.0'),93847382783847382,1]),'min1':strict_min([float('2.0'),double('3.0'),93847382783847382,1]),'max1':strict_max([float('2.0'),double('3.0'),93847382783847382,1]),'stddev1':strict_stddev([float('2.0'),double('3.0'),93847382783847382,1]),'stddev_pop1':strict_stddev_pop([float('2.0'),double('3.0'),93847382783847382,1]),'count2':strict_count({{float('2.0'),double('3.0'),93847382783847382,1}}),'average2':strict_avg({{float('2.0'),double('3.0'),93847382783847382,1}}),'sum2':strict_sum({{float('2.0'),double('3.0'),93847382783847382,1}}),'min2':strict_min({{float('2.0'),double('3.0'),93847382783847382,1}}),'max2':strict_max({{float('2.0'),double('3.0'),93847382783847382,1}}),'stddev2':strict_stddev([float('2.0'),double('3.0'),93847382783847382,1]),'stddev_pop2':strict_stddev_pop([float('2.0'),double('3.0'),93847382783847382,1])};
\ No newline at end of file
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/agg_number_rec/agg_number_rec.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/agg_number_rec/agg_number_rec.3.query.sqlpp
index 391e49d..1144a95 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/agg_number_rec/agg_number_rec.3.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/agg_number_rec/agg_number_rec.3.query.sqlpp
@@ -43,4 +43,7 @@
 )),'stddev':test.strict_stddev((
     select element t.valplus
     from  Test as t
+)),'stddev_pop':test.strict_stddev_pop((
+    select element t.valplus
+    from  Test as t
 ))};
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/scalar_stddev/scalar_stddev.1.ddl.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/scalar_stddev/scalar_stddev.1.ddl.sqlpp
index bc2d063..7049419 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/scalar_stddev/scalar_stddev.1.ddl.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/scalar_stddev/scalar_stddev.1.ddl.sqlpp
@@ -17,7 +17,7 @@
  * under the License.
  */
 /*
- * Description    : Tests the scalar version of avg without nulls.
+ * Description    : Tests the scalar version of stddev and stddev_pop without nulls.
  * Success        : Yes
  */
 
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/scalar_stddev/scalar_stddev.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/scalar_stddev/scalar_stddev.3.query.sqlpp
index e1d9437..a7c1497 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/scalar_stddev/scalar_stddev.3.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/scalar_stddev/scalar_stddev.3.query.sqlpp
@@ -17,19 +17,26 @@
  * under the License.
  */
 /*
- * Description    : Tests the scalar version of stddev without nulls.
+ * Description    : Tests the scalar version of stddev and stddev_pop without nulls.
  * Success        : Yes
  */
 
 use test;
 
-
-with  i8 as test.strict_stddev([test.tinyint('1'),test.tinyint('2'),test.tinyint('3')]),
+{'stddev': (with  i8 as test.strict_stddev([test.tinyint('1'),test.tinyint('2'),test.tinyint('3')]),
       i16 as test.strict_stddev([test.smallint('1'),test.smallint('2'),test.smallint('3')]),
       i32 as test.strict_stddev([test.integer('1'),test.integer('2'),test.integer('3')]),
       i64 as test.strict_stddev([test.bigint('1'),test.bigint('2'),test.bigint('3')]),
       f as test.strict_stddev([test.float('1'),test.float('2'),test.float('3')]),
       d as test.strict_stddev([test.double('1'),test.double('2'),test.double('3')])
 select element i
-from  [i8,i16,i32,i64,f,d] as i
-;
+from  [i8,i16,i32,i64,f,d] as i),
+'stddev_pop': (with  i8 as test.strict_stddev_pop([test.tinyint('1'),test.tinyint('2'),test.tinyint('3')]),
+      i16 as test.strict_stddev_pop([test.smallint('1'),test.smallint('2'),test.smallint('3')]),
+      i32 as test.strict_stddev_pop([test.integer('1'),test.integer('2'),test.integer('3')]),
+      i64 as test.strict_stddev_pop([test.bigint('1'),test.bigint('2'),test.bigint('3')]),
+      f as test.strict_stddev_pop([test.float('1'),test.float('2'),test.float('3')]),
+      d as test.strict_stddev_pop([test.double('1'),test.double('2'),test.double('3')])
+select element i
+from  [i8,i16,i32,i64,f,d] as i)
+};
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/scalar_stddev_empty/scalar_stddev_empty.1.ddl.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/scalar_stddev_empty/scalar_stddev_empty.1.ddl.sqlpp
index cb061c2..63c85db 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/scalar_stddev_empty/scalar_stddev_empty.1.ddl.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/scalar_stddev_empty/scalar_stddev_empty.1.ddl.sqlpp
@@ -17,7 +17,7 @@
  * under the License.
  */
 /*
- * Description    : Tests the scalar version of avg with an empty list.
+ * Description    : Tests the scalar version of stddev and stddev_pop with an empty list.
  * Success        : Yes
  */
 
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/scalar_stddev_empty/scalar_stddev_empty.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/scalar_stddev_empty/scalar_stddev_empty.3.query.sqlpp
index 9dedcbd..bdccf51 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/scalar_stddev_empty/scalar_stddev_empty.3.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/scalar_stddev_empty/scalar_stddev_empty.3.query.sqlpp
@@ -17,8 +17,9 @@
  * under the License.
  */
 /*
- * Description    : Tests the scalar version of stddev with an empty list.
+ * Description    : Tests the scalar version of stddev and stddev_pop with an empty list.
  * Success        : Yes
  */
 
-select element strict_stddev([]);
+{'stddev': (select element strict_stddev([])),
+'stddev_pop': (select element strict_stddev_pop([]))};
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/scalar_stddev_null/scalar_stddev_null.1.ddl.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/scalar_stddev_null/scalar_stddev_null.1.ddl.sqlpp
index 03230ec..487d166 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/scalar_stddev_null/scalar_stddev_null.1.ddl.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/scalar_stddev_null/scalar_stddev_null.1.ddl.sqlpp
@@ -17,7 +17,7 @@
  * under the License.
  */
 /*
- * Description    : Tests the scalar version of avg with nulls.
+ * Description    : Tests the scalar version of stddev and stddev_pop with nulls.
  * Success        : Yes
  */
 
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/scalar_stddev_null/scalar_stddev_null.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/scalar_stddev_null/scalar_stddev_null.3.query.sqlpp
index e8a3d18..d486633 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/scalar_stddev_null/scalar_stddev_null.3.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/scalar_stddev_null/scalar_stddev_null.3.query.sqlpp
@@ -17,19 +17,26 @@
  * under the License.
  */
 /*
- * Description    : Tests the scalar version of stddev with nulls.
+ * Description    : Tests the scalar version of stddev and stddev_pop with nulls.
  * Success        : Yes
  */
 
 use test;
 
-
-with  i8 as test.strict_stddev([test.tinyint('1'),test.tinyint('2'),test.tinyint('3'),null]),
+{'stddev': (with  i8 as test.strict_stddev([test.tinyint('1'),test.tinyint('2'),test.tinyint('3'),null]),
       i16 as test.strict_stddev([test.smallint('1'),test.smallint('2'),test.smallint('3'),null]),
       i32 as test.strict_stddev([test.integer('1'),test.integer('2'),test.integer('3'),null]),
       i64 as test.strict_stddev([test.bigint('1'),test.bigint('2'),test.bigint('3'),null]),
       f as test.strict_stddev([test.float('1'),test.float('2'),test.float('3'),null]),
       d as test.strict_stddev([test.double('1'),test.double('2'),test.double('3'),null])
 select element i
-from  [i8,i16,i32,i64,f,d] as i
-;
+from  [i8,i16,i32,i64,f,d] as i),
+'stddev_pop': (with  i8 as test.strict_stddev_pop([test.tinyint('1'),test.tinyint('2'),test.tinyint('3'),null]),
+      i16 as test.strict_stddev_pop([test.smallint('1'),test.smallint('2'),test.smallint('3'),null]),
+      i32 as test.strict_stddev_pop([test.integer('1'),test.integer('2'),test.integer('3'),null]),
+      i64 as test.strict_stddev_pop([test.bigint('1'),test.bigint('2'),test.bigint('3'),null]),
+      f as test.strict_stddev_pop([test.float('1'),test.float('2'),test.float('3'),null]),
+      d as test.strict_stddev_pop([test.double('1'),test.double('2'),test.double('3'),null])
+select element i
+from  [i8,i16,i32,i64,f,d] as i)
+};
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/serial_stddev_double/serial_stddev_double.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/serial_stddev_double/serial_stddev_double.3.query.sqlpp
index c142973..ad787f5 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/serial_stddev_double/serial_stddev_double.3.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/serial_stddev_double/serial_stddev_double.3.query.sqlpp
@@ -19,7 +19,8 @@
 
 use test;
 
-select gid, strict_stddev((select value g.val from g)) as stddev
+select gid, strict_stddev((select value g.val from g)) as stddev,
+   strict_stddev_pop((select value g.val from g)) as stddev_pop
 from Test as t
 /* +hash */
 group by t.gid as gid group as g(val as val);
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/serial_stddev_double_null/serial_stddev_double_null.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/serial_stddev_double_null/serial_stddev_double_null.3.query.sqlpp
index 9d62353..3ca4fec 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/serial_stddev_double_null/serial_stddev_double_null.3.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/serial_stddev_double_null/serial_stddev_double_null.3.query.sqlpp
@@ -19,7 +19,8 @@
 
 use test;
 
-select gid, strict_stddev((select value g.valplus from g)) as stddev
+select gid, strict_stddev((select value g.valplus from g)) as stddev,
+   strict_stddev_pop((select value g.valplus from g)) as stddev_pop
 from Test as t
 /* +hash */
 group by t.gid as gid group as g(valplus as valplus);
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/serial_stddev_empty/serial_stddev_empty.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/serial_stddev_empty/serial_stddev_empty.3.query.sqlpp
index c142973..ad787f5 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/serial_stddev_empty/serial_stddev_empty.3.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/serial_stddev_empty/serial_stddev_empty.3.query.sqlpp
@@ -19,7 +19,8 @@
 
 use test;
 
-select gid, strict_stddev((select value g.val from g)) as stddev
+select gid, strict_stddev((select value g.val from g)) as stddev,
+   strict_stddev_pop((select value g.val from g)) as stddev_pop
 from Test as t
 /* +hash */
 group by t.gid as gid group as g(val as val);
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/serial_stddev_float/serial_stddev_float.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/serial_stddev_float/serial_stddev_float.3.query.sqlpp
index c142973..ad787f5 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/serial_stddev_float/serial_stddev_float.3.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/serial_stddev_float/serial_stddev_float.3.query.sqlpp
@@ -19,7 +19,8 @@
 
 use test;
 
-select gid, strict_stddev((select value g.val from g)) as stddev
+select gid, strict_stddev((select value g.val from g)) as stddev,
+   strict_stddev_pop((select value g.val from g)) as stddev_pop
 from Test as t
 /* +hash */
 group by t.gid as gid group as g(val as val);
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/serial_stddev_float_null/serial_stddev_float_null.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/serial_stddev_float_null/serial_stddev_float_null.3.query.sqlpp
index 9d62353..3ca4fec 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/serial_stddev_float_null/serial_stddev_float_null.3.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/serial_stddev_float_null/serial_stddev_float_null.3.query.sqlpp
@@ -19,7 +19,8 @@
 
 use test;
 
-select gid, strict_stddev((select value g.valplus from g)) as stddev
+select gid, strict_stddev((select value g.valplus from g)) as stddev,
+   strict_stddev_pop((select value g.valplus from g)) as stddev_pop
 from Test as t
 /* +hash */
 group by t.gid as gid group as g(valplus as valplus);
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/serial_stddev_int16/serial_stddev_int16.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/serial_stddev_int16/serial_stddev_int16.3.query.sqlpp
index c142973..ad787f5 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/serial_stddev_int16/serial_stddev_int16.3.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/serial_stddev_int16/serial_stddev_int16.3.query.sqlpp
@@ -19,7 +19,8 @@
 
 use test;
 
-select gid, strict_stddev((select value g.val from g)) as stddev
+select gid, strict_stddev((select value g.val from g)) as stddev,
+   strict_stddev_pop((select value g.val from g)) as stddev_pop
 from Test as t
 /* +hash */
 group by t.gid as gid group as g(val as val);
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/serial_stddev_int16_null/serial_stddev_int16_null.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/serial_stddev_int16_null/serial_stddev_int16_null.3.query.sqlpp
index 9d62353..3ca4fec 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/serial_stddev_int16_null/serial_stddev_int16_null.3.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/serial_stddev_int16_null/serial_stddev_int16_null.3.query.sqlpp
@@ -19,7 +19,8 @@
 
 use test;
 
-select gid, strict_stddev((select value g.valplus from g)) as stddev
+select gid, strict_stddev((select value g.valplus from g)) as stddev,
+   strict_stddev_pop((select value g.valplus from g)) as stddev_pop
 from Test as t
 /* +hash */
 group by t.gid as gid group as g(valplus as valplus);
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/serial_stddev_int32/serial_stddev_int32.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/serial_stddev_int32/serial_stddev_int32.3.query.sqlpp
index c142973..ad787f5 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/serial_stddev_int32/serial_stddev_int32.3.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/serial_stddev_int32/serial_stddev_int32.3.query.sqlpp
@@ -19,7 +19,8 @@
 
 use test;
 
-select gid, strict_stddev((select value g.val from g)) as stddev
+select gid, strict_stddev((select value g.val from g)) as stddev,
+   strict_stddev_pop((select value g.val from g)) as stddev_pop
 from Test as t
 /* +hash */
 group by t.gid as gid group as g(val as val);
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/serial_stddev_int32_null/serial_stddev_int32_null.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/serial_stddev_int32_null/serial_stddev_int32_null.3.query.sqlpp
index 9d62353..3ca4fec 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/serial_stddev_int32_null/serial_stddev_int32_null.3.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/serial_stddev_int32_null/serial_stddev_int32_null.3.query.sqlpp
@@ -19,7 +19,8 @@
 
 use test;
 
-select gid, strict_stddev((select value g.valplus from g)) as stddev
+select gid, strict_stddev((select value g.valplus from g)) as stddev,
+   strict_stddev_pop((select value g.valplus from g)) as stddev_pop
 from Test as t
 /* +hash */
 group by t.gid as gid group as g(valplus as valplus);
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/serial_stddev_int64/serial_stddev_int64.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/serial_stddev_int64/serial_stddev_int64.3.query.sqlpp
index c142973..ad787f5 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/serial_stddev_int64/serial_stddev_int64.3.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/serial_stddev_int64/serial_stddev_int64.3.query.sqlpp
@@ -19,7 +19,8 @@
 
 use test;
 
-select gid, strict_stddev((select value g.val from g)) as stddev
+select gid, strict_stddev((select value g.val from g)) as stddev,
+   strict_stddev_pop((select value g.val from g)) as stddev_pop
 from Test as t
 /* +hash */
 group by t.gid as gid group as g(val as val);
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/serial_stddev_int64_null/serial_stddev_int64_null.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/serial_stddev_int64_null/serial_stddev_int64_null.3.query.sqlpp
index 9d62353..3ca4fec 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/serial_stddev_int64_null/serial_stddev_int64_null.3.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/serial_stddev_int64_null/serial_stddev_int64_null.3.query.sqlpp
@@ -19,7 +19,8 @@
 
 use test;
 
-select gid, strict_stddev((select value g.valplus from g)) as stddev
+select gid, strict_stddev((select value g.valplus from g)) as stddev,
+   strict_stddev_pop((select value g.valplus from g)) as stddev_pop
 from Test as t
 /* +hash */
 group by t.gid as gid group as g(valplus as valplus);
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/serial_stddev_int8/serial_stddev_int8.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/serial_stddev_int8/serial_stddev_int8.3.query.sqlpp
index c142973..ad787f5 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/serial_stddev_int8/serial_stddev_int8.3.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/serial_stddev_int8/serial_stddev_int8.3.query.sqlpp
@@ -19,7 +19,8 @@
 
 use test;
 
-select gid, strict_stddev((select value g.val from g)) as stddev
+select gid, strict_stddev((select value g.val from g)) as stddev,
+   strict_stddev_pop((select value g.val from g)) as stddev_pop
 from Test as t
 /* +hash */
 group by t.gid as gid group as g(val as val);
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/serial_stddev_int8_null/serial_stddev_int8_null.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/serial_stddev_int8_null/serial_stddev_int8_null.3.query.sqlpp
index 9d62353..3ca4fec 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/serial_stddev_int8_null/serial_stddev_int8_null.3.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/serial_stddev_int8_null/serial_stddev_int8_null.3.query.sqlpp
@@ -19,7 +19,8 @@
 
 use test;
 
-select gid, strict_stddev((select value g.valplus from g)) as stddev
+select gid, strict_stddev((select value g.valplus from g)) as stddev,
+   strict_stddev_pop((select value g.valplus from g)) as stddev_pop
 from Test as t
 /* +hash */
 group by t.gid as gid group as g(valplus as valplus);
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/serial_stddev_pop_mixed/serial_stddev_pop_mixed.1.ddl.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/serial_stddev_pop_mixed/serial_stddev_pop_mixed.1.ddl.sqlpp
new file mode 100644
index 0000000..da0bd7b
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/serial_stddev_pop_mixed/serial_stddev_pop_mixed.1.ddl.sqlpp
@@ -0,0 +1,33 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+drop  dataverse test if exists;
+create  dataverse test;
+
+use test;
+
+
+create type test.TestType as
+{
+  id : bigint,
+  gid : bigint,
+  val : double
+};
+
+create  dataset Test(TestType) primary key id;
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/serial_stddev_pop_mixed/serial_stddev_pop_mixed.2.update.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/serial_stddev_pop_mixed/serial_stddev_pop_mixed.2.update.sqlpp
new file mode 100644
index 0000000..1b4eac9
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/serial_stddev_pop_mixed/serial_stddev_pop_mixed.2.update.sqlpp
@@ -0,0 +1,29 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+use test;
+
+insert into Test
+select element {'id':0,'gid':1,'val':double(4.32),'valplus':float('2.0')};
+insert into Test
+select element {'id':1,'gid':1,'val':double(5.32),'valplus':float('1.0')};
+insert into Test
+select element {'id':2,'gid':1,'val':double(6.32),'valplus':'hello world'};
+insert into Test
+select element {'id':3,'gid':1,'val':double(4.32),'valplus':double('3.0')};
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/serial_stddev_pop_mixed/serial_stddev_pop_mixed.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/serial_stddev_pop_mixed/serial_stddev_pop_mixed.3.query.sqlpp
new file mode 100644
index 0000000..329fc59
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/serial_stddev_pop_mixed/serial_stddev_pop_mixed.3.query.sqlpp
@@ -0,0 +1,30 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+ /*
+ * Description  : Run serial-stddev_pop over an ordered list with mixed types
+ * Expected Res : Failure
+ * Date         : March 5th 2018
+ */
+
+use test;
+
+select gid, strict_stddev_pop((select value g.valplus from g)) as stddev_pop
+from Test as t
+/* +hash */
+group by t.gid as gid group as g(valplus as valplus);
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/stddev_distinct/stddev_distinct.1.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/stddev_distinct/stddev_distinct.1.query.sqlpp
new file mode 100644
index 0000000..ee5b28c
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/stddev_distinct/stddev_distinct.1.query.sqlpp
@@ -0,0 +1,28 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+ {
+   't1': to_bigint(strict_stddev(distinct [10,20,30,10,20,30,10])),
+   't2': to_bigint(strict_stddev(distinct [null,missing,null,missing])),
+   't3': to_bigint(strict_stddev(distinct [40,null,missing,50,40,null,missing,50,40])),
+   't4': to_bigint(strict_stddev(distinct [])),
+   't5': to_bigint(strict_stddev_pop(distinct [10,20,30,10,20,30,10])),
+   't6': to_bigint(strict_stddev_pop(distinct [null,missing,null,missing])),
+   't7': to_bigint(strict_stddev_pop(distinct [40,null,missing,50,40,null,missing,50,40])),
+   't8': to_bigint(strict_stddev_pop(distinct []))
+ };
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/stddev_double/stddev_double.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/stddev_double/stddev_double.3.query.sqlpp
index c39ca57..6ec48bd 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/stddev_double/stddev_double.3.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/stddev_double/stddev_double.3.query.sqlpp
@@ -17,7 +17,10 @@
  * under the License.
  */
 
-select element strict_stddev((
+{'stddev':(select element strict_stddev((
     select element x
     from  [1.0,2.0,double('3.0')] as x
-));
+))), 'stddev_pop': (select element strict_stddev_pop((
+    select element x
+    from  [1.0,2.0,double('3.0')] as x
+)))};
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/stddev_double_null/stddev_double_null.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/stddev_double_null/stddev_double_null.3.query.sqlpp
index b86d514..b8970f0 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/stddev_double_null/stddev_double_null.3.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/stddev_double_null/stddev_double_null.3.query.sqlpp
@@ -19,8 +19,10 @@
 
 use test;
 
-
 {'stddev':test.strict_stddev((
     select element x.doubleField
     from  Numeric as x
+)), 'stddev_pop':test.strict_stddev_pop((
+    select element x.doubleField
+    from  Numeric as x
 ))};
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/stddev_empty_01/stddev_empty_01.1.ddl.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/stddev_empty_01/stddev_empty_01.1.ddl.sqlpp
index 2ae248a..8ec3e08 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/stddev_empty_01/stddev_empty_01.1.ddl.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/stddev_empty_01/stddev_empty_01.1.ddl.sqlpp
@@ -17,7 +17,7 @@
  * under the License.
  */
 /*
- * Description    : Tests that avg aggregation correctly returns null for an empty stream,
+ * Description    : Tests that stddev aggregation correctly returns null for an empty stream,
  *                  without an aggregate combiner.
  * Success        : Yes
  */
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/stddev_empty_01/stddev_empty_01.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/stddev_empty_01/stddev_empty_01.3.query.sqlpp
index 4dd9c6c..7c02b5d 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/stddev_empty_01/stddev_empty_01.3.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/stddev_empty_01/stddev_empty_01.3.query.sqlpp
@@ -17,16 +17,19 @@
  * under the License.
  */
 /*
- * Description    : Tests that avg aggregation correctly returns null for an empty stream,
+ * Description    : Tests that stddev aggregation correctly returns null for an empty stream,
  *                  without an aggregate combiner.
  * Success        : Yes
  */
 
 use test;
 
-
-select element test.strict_stddev((
+{'stddev': (select element test.strict_stddev((
     select element x
     from  [1,2,3] as x
     where (x > 10)
-));
+))), 'stddev_pop': (select element test.strict_stddev_pop((
+    select element x
+    from  [1,2,3] as x
+    where (x > 10)
+)))};
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/stddev_empty_02/stddev_empty_02.1.ddl.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/stddev_empty_02/stddev_empty_02.1.ddl.sqlpp
index c65aa35..ac9ee8f 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/stddev_empty_02/stddev_empty_02.1.ddl.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/stddev_empty_02/stddev_empty_02.1.ddl.sqlpp
@@ -17,7 +17,7 @@
  * under the License.
  */
 /*
- * Description    : Tests that avg aggregation correctly returns null for an empty stream,
+ * Description    : Tests that stddev aggregation correctly returns null for an empty stream,
  *                  with an aggregate combiner.
  * Success        : Yes
  */
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/stddev_empty_02/stddev_empty_02.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/stddev_empty_02/stddev_empty_02.3.query.sqlpp
index c874bee..00ef2a5 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/stddev_empty_02/stddev_empty_02.3.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/stddev_empty_02/stddev_empty_02.3.query.sqlpp
@@ -17,15 +17,17 @@
  * under the License.
  */
 /*
- * Description    : Tests that avg aggregation correctly returns null for an empty stream,
+ * Description    : Tests that stddev aggregation correctly returns null for an empty stream,
  *                  with an aggregate combiner.
  * Success        : Yes
  */
 
 use test;
 
-
-select element test.strict_stddev((
+{'stddev': (select element test.strict_stddev((
     select element x.val
     from  Test as x
-));
+))), 'stddev_pop': (select element test.strict_stddev_pop((
+    select element x.val
+    from  Test as x
+)))};
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/stddev_float/stddev_float.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/stddev_float/stddev_float.3.query.sqlpp
index 4639508..7d93d5f 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/stddev_float/stddev_float.3.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/stddev_float/stddev_float.3.query.sqlpp
@@ -20,7 +20,10 @@
 use test;
 
 
-select element test.strict_stddev((
+{'stddev': (select element test.strict_stddev((
     select element x
     from  [test.float('1'),test.float('2'),test.float('3')] as x
-));
+))), 'stddev_pop': (select element test.strict_stddev_pop((
+    select element x
+    from  [test.float('1'),test.float('2'),test.float('3')] as x
+)))};
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/stddev_float_null/stddev_float_null.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/stddev_float_null/stddev_float_null.3.query.sqlpp
index 0efd9c5..8953da9 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/stddev_float_null/stddev_float_null.3.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/stddev_float_null/stddev_float_null.3.query.sqlpp
@@ -23,4 +23,7 @@
 {'stddev':test.strict_stddev((
     select element x.floatField
     from  Numeric as x
+)), 'stddev_pop':test.strict_stddev_pop((
+    select element x.floatField
+    from  Numeric as x
 ))};
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/stddev_int16/stddev_int16.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/stddev_int16/stddev_int16.3.query.sqlpp
index 58f3e41..3c8b633 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/stddev_int16/stddev_int16.3.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/stddev_int16/stddev_int16.3.query.sqlpp
@@ -20,7 +20,10 @@
 use test;
 
 
-select element test.strict_stddev((
+{'stddev': (select element test.strict_stddev((
     select element x
     from  [test.smallint('1'),test.smallint('2'),test.smallint('3')] as x
-));
+))), 'stddev_pop': (select element test.strict_stddev_pop((
+    select element x
+    from  [test.smallint('1'),test.smallint('2'),test.smallint('3')] as x
+)))};
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/stddev_int16_null/stddev_int16_null.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/stddev_int16_null/stddev_int16_null.3.query.sqlpp
index 7608be6..314b28f 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/stddev_int16_null/stddev_int16_null.3.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/stddev_int16_null/stddev_int16_null.3.query.sqlpp
@@ -23,4 +23,7 @@
 {'stddev':test.strict_stddev((
     select element x.int16Field
     from  Numeric as x
+)), 'stddev_pop':test.strict_stddev_pop((
+    select element x.int16Field
+    from  Numeric as x
 ))};
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/stddev_int32/stddev_int32.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/stddev_int32/stddev_int32.3.query.sqlpp
index 90dd3b3..9f4fd0d 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/stddev_int32/stddev_int32.3.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/stddev_int32/stddev_int32.3.query.sqlpp
@@ -20,7 +20,10 @@
 use test;
 
 
-select element test.strict_stddev((
+{'stddev': (select element test.strict_stddev((
     select element x
     from  [1,2,3] as x
-));
+))), 'stddev_pop': (select element test.strict_stddev_pop((
+    select element x
+    from  [1,2,3] as x
+)))};
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/stddev_int32_null/stddev_int32_null.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/stddev_int32_null/stddev_int32_null.3.query.sqlpp
index 42ea3a4..404532c 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/stddev_int32_null/stddev_int32_null.3.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/stddev_int32_null/stddev_int32_null.3.query.sqlpp
@@ -23,4 +23,7 @@
 {'stddev':test.strict_stddev((
     select element x.int32Field
     from  Numeric as x
+)), 'stddev_pop':test.strict_stddev_pop((
+    select element x.int32Field
+    from  Numeric as x
 ))};
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/stddev_int64/stddev_int64.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/stddev_int64/stddev_int64.3.query.sqlpp
index 3c7269a..4d42043 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/stddev_int64/stddev_int64.3.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/stddev_int64/stddev_int64.3.query.sqlpp
@@ -20,7 +20,10 @@
 use test;
 
 
-select element test.strict_stddev((
+{'stddev': (select element test.strict_stddev((
     select element x
     from  [test.bigint('1'),test.bigint('2'),test.bigint('3')] as x
-));
+))), 'stddev_pop': (select element test.strict_stddev_pop((
+    select element x
+    from  [test.bigint('1'),test.bigint('2'),test.bigint('3')] as x
+)))};
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/stddev_int64_null/stddev_int64_null.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/stddev_int64_null/stddev_int64_null.3.query.sqlpp
index 1304170..a5808a8 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/stddev_int64_null/stddev_int64_null.3.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/stddev_int64_null/stddev_int64_null.3.query.sqlpp
@@ -23,4 +23,7 @@
 {'stddev':test.strict_stddev((
     select element x.int64Field
     from  Numeric as x
+)), 'stddev_pop':test.strict_stddev_pop((
+    select element x.int64Field
+    from  Numeric as x
 ))};
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/stddev_int8/stddev_int8.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/stddev_int8/stddev_int8.3.query.sqlpp
index 310f840..ba6d178 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/stddev_int8/stddev_int8.3.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/stddev_int8/stddev_int8.3.query.sqlpp
@@ -20,7 +20,10 @@
 use test;
 
 
-select element test.strict_stddev((
+{'stddev': (select element test.strict_stddev((
     select element x
     from  [test.tinyint('1'),test.tinyint('2'),test.tinyint('3')] as x
-));
+))), 'stddev_pop': (select element test.strict_stddev_pop((
+    select element x
+    from  [test.tinyint('1'),test.tinyint('2'),test.tinyint('3')] as x
+)))};
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/stddev_int8_null/stddev_int8_null.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/stddev_int8_null/stddev_int8_null.3.query.sqlpp
index 25f0fee..f1d1c9b 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/stddev_int8_null/stddev_int8_null.3.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/stddev_int8_null/stddev_int8_null.3.query.sqlpp
@@ -23,4 +23,7 @@
 {'stddev':test.strict_stddev((
     select element x.int8Field
     from  Numeric as x
+)), 'stddev_pop':test.strict_stddev_pop((
+    select element x.int8Field
+    from  Numeric as x
 ))};
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/stddev_pop_mixed/stddev_pop_mixed.3.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/stddev_pop_mixed/stddev_pop_mixed.3.query.sqlpp
new file mode 100644
index 0000000..d068bb2
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/stddev_pop_mixed/stddev_pop_mixed.3.query.sqlpp
@@ -0,0 +1,28 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+/*
+* Description  : Run stddev_pop over an ordered list with mixed types
+* Expected Res : Failure
+* Date         : Jun 2nd 2013
+*/
+
+select element strict_stddev_pop((
+    select element x
+    from  [float('2.0'),'hello world',93847382783847382,date('2013-01-01')] as x
+));
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/agg_null/agg_null.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/agg_null/agg_null.1.adm
index 53910f3..a8c918b 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/agg_null/agg_null.1.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/agg_null/agg_null.1.adm
@@ -1 +1 @@
-{ "sql-count1": 0, "average1": null, "sql-sum1": null, "sql-min1": null, "sql-max1": null, "sql-stddev1": null, "sql-count2": 0, "average2": null, "sql-sum2": null, "sql-min2": null, "sql-max2": null, "sql-stddev2": null }
+{ "sql-count1": 0, "average1": null, "sql-sum1": null, "sql-min1": null, "sql-max1": null, "sql-stddev1": null, "sql-stddev_pop1": null, "sql-count2": 0, "average2": null, "sql-sum2": null, "sql-min2": null, "sql-max2": null, "sql-stddev2": null, "sql-stddev_pop2": null }
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/agg_null_rec/agg_null_rec.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/agg_null_rec/agg_null_rec.1.adm
index 425ca45..99d052a 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/agg_null_rec/agg_null_rec.1.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/agg_null_rec/agg_null_rec.1.adm
@@ -1 +1 @@
-{ "sql-count": 2, "average": 26.0, "sql-stddev": 7.0710678118654755, "sql-sum": 52, "sql-min": 21, "sql-max": 31 }
+{ "sql-count": 2, "average": 26.0, "sql-stddev": 7.0710678118654755, "sql-stddev_pop": 5.0, "sql-sum": 52, "sql-min": 21, "sql-max": 31 }
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/agg_null_rec_1/agg_null_rec.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/agg_null_rec_1/agg_null_rec.1.adm
index 4d9b33d..988d2e4 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/agg_null_rec_1/agg_null_rec.1.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/agg_null_rec_1/agg_null_rec.1.adm
@@ -1 +1 @@
-{ "sql-count": 3, "average": 5.32, "sql-sum": 15.96, "sql-stddev": 2.720510431232472E16, "sql-min": 473847, "sql-max": 38473827484738239 }
+{ "sql-count": 3, "average": 5.32, "sql-sum": 15.96, "sql-stddev": 2.720510431232472E16, "sql-stddev_pop": 1.9236913742132196E16, "sql-min": 473847, "sql-max": 38473827484738239 }
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/agg_number/agg_number.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/agg_number/agg_number.1.adm
index 2ea1357..37f109c 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/agg_number/agg_number.1.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/agg_number/agg_number.1.adm
@@ -1 +1 @@
-{ "sql-count1": 4, "average1": 2.3461845695961844E16, "sql-stddev1": 4.6923691391923688E16, "sql-count2": 4, "average2": 2.3461845695961844E16, "sql-stddev2": 4.6923691391923688E16, "sql-sum1": 9.3847382783847376E16, "sql-min1": 1.0, "sql-max1": 9.3847382783847376E16, "sql-sum2": 9.3847382783847376E16, "sql-min2": 1.0, "sql-max2": 9.3847382783847376E16 }
+{ "sql-count1": 4, "average1": 2.3461845695961844E16, "sql-stddev1": 4.6923691391923688E16, "sql-stddev_pop1": 4.0637108784747104E16, "sql-count2": 4, "average2": 2.3461845695961844E16, "sql-stddev2": 4.6923691391923688E16, "sql-stddev_pop2": 4.0637108784747104E16, "sql-sum1": 9.3847382783847376E16, "sql-min1": 1.0, "sql-max1": 9.3847382783847376E16, "sql-sum2": 9.3847382783847376E16, "sql-min2": 1.0, "sql-max2": 9.3847382783847376E16 }
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/agg_number_rec/agg_number_rec.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/agg_number_rec/agg_number_rec.1.adm
index fdc01c8..19f61fd 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/agg_number_rec/agg_number_rec.1.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/agg_number_rec/agg_number_rec.1.adm
@@ -1 +1 @@
-{ "sql-count": 3, "average": 1.2824609161579424E16, "sql-stddev": 2.2212874655068836E16, "sql-sum": 3.8473827484738272E16, "sql-min": 2.0, "sql-max": 3.847382748473824E16 }
+{ "sql-count": 3, "average": 1.2824609161579424E16, "sql-stddev": 2.2212874655068836E16, "sql-stddev_pop": 1.8136736208439848E16, "sql-sum": 3.8473827484738272E16, "sql-min": 2.0, "sql-max": 3.847382748473824E16 }
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/scalar_stddev/scalar_stddev.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/scalar_stddev/scalar_stddev.1.adm
index 325ebd5..16c838c 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/scalar_stddev/scalar_stddev.1.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/scalar_stddev/scalar_stddev.1.adm
@@ -1,6 +1 @@
-1.0
-1.0
-1.0
-1.0
-1.0
-1.0
+{ "stddev": [ 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 ], "stddev_pop": [ 0.816496580927726, 0.816496580927726, 0.816496580927726, 0.816496580927726, 0.816496580927726, 0.816496580927726 ] }
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/scalar_stddev_empty/scalar_stddev_empty.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/scalar_stddev_empty/scalar_stddev_empty.1.adm
index 19765bd..eb24dcb 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/scalar_stddev_empty/scalar_stddev_empty.1.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/scalar_stddev_empty/scalar_stddev_empty.1.adm
@@ -1 +1 @@
-null
+{ "stddev": [ null ], "stddev_pop": [ null ] }
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/scalar_stddev_null/scalar_stddev_null.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/scalar_stddev_null/scalar_stddev_null.1.adm
index 325ebd5..16c838c 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/scalar_stddev_null/scalar_stddev_null.1.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/scalar_stddev_null/scalar_stddev_null.1.adm
@@ -1,6 +1 @@
-1.0
-1.0
-1.0
-1.0
-1.0
-1.0
+{ "stddev": [ 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 ], "stddev_pop": [ 0.816496580927726, 0.816496580927726, 0.816496580927726, 0.816496580927726, 0.816496580927726, 0.816496580927726 ] }
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/serial_stddev_double/serial_stddev_double.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/serial_stddev_double/serial_stddev_double.1.adm
index d2bef52..4e89687 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/serial_stddev_double/serial_stddev_double.1.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/serial_stddev_double/serial_stddev_double.1.adm
@@ -1 +1 @@
-{ "gid": 1, "stddev": 0.8944271909999159 }
+{ "gid": 1, "stddev": 0.8944271909999159, "stddev_pop": 0.8 }
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/serial_stddev_double_null/serial_stddev_double_null.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/serial_stddev_double_null/serial_stddev_double_null.1.adm
index c6fb3a0..c71ba21 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/serial_stddev_double_null/serial_stddev_double_null.1.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/serial_stddev_double_null/serial_stddev_double_null.1.adm
@@ -1 +1 @@
-{ "gid": 1, "stddev": 2.2212874654736076E16 }
+{ "gid": 1, "stddev": 2.2212874654736076E16, "stddev_pop": 1.8136736208168148E16 }
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/serial_stddev_float/serial_stddev_float.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/serial_stddev_float/serial_stddev_float.1.adm
index d2bef52..4e89687 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/serial_stddev_float/serial_stddev_float.1.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/serial_stddev_float/serial_stddev_float.1.adm
@@ -1 +1 @@
-{ "gid": 1, "stddev": 0.8944271909999159 }
+{ "gid": 1, "stddev": 0.8944271909999159, "stddev_pop": 0.8 }
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/serial_stddev_float_null/serial_stddev_float_null.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/serial_stddev_float_null/serial_stddev_float_null.1.adm
index 81fb89a..daa09e6 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/serial_stddev_float_null/serial_stddev_float_null.1.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/serial_stddev_float_null/serial_stddev_float_null.1.adm
@@ -1 +1 @@
-{ "gid": 1, "stddev": 1.0 }
+{ "gid": 1, "stddev": 1.0, "stddev_pop": 0.816496580927726 }
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/serial_stddev_int16/serial_stddev_int16.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/serial_stddev_int16/serial_stddev_int16.1.adm
index d2bef52..4e89687 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/serial_stddev_int16/serial_stddev_int16.1.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/serial_stddev_int16/serial_stddev_int16.1.adm
@@ -1 +1 @@
-{ "gid": 1, "stddev": 0.8944271909999159 }
+{ "gid": 1, "stddev": 0.8944271909999159, "stddev_pop": 0.8 }
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/serial_stddev_int16_null/serial_stddev_int16_null.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/serial_stddev_int16_null/serial_stddev_int16_null.1.adm
index 81fb89a..daa09e6 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/serial_stddev_int16_null/serial_stddev_int16_null.1.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/serial_stddev_int16_null/serial_stddev_int16_null.1.adm
@@ -1 +1 @@
-{ "gid": 1, "stddev": 1.0 }
+{ "gid": 1, "stddev": 1.0, "stddev_pop": 0.816496580927726 }
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/serial_stddev_int32/serial_stddev_int32.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/serial_stddev_int32/serial_stddev_int32.1.adm
index d2bef52..4e89687 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/serial_stddev_int32/serial_stddev_int32.1.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/serial_stddev_int32/serial_stddev_int32.1.adm
@@ -1 +1 @@
-{ "gid": 1, "stddev": 0.8944271909999159 }
+{ "gid": 1, "stddev": 0.8944271909999159, "stddev_pop": 0.8 }
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/serial_stddev_int32_null/serial_stddev_int32_null.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/serial_stddev_int32_null/serial_stddev_int32_null.1.adm
index 81fb89a..daa09e6 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/serial_stddev_int32_null/serial_stddev_int32_null.1.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/serial_stddev_int32_null/serial_stddev_int32_null.1.adm
@@ -1 +1 @@
-{ "gid": 1, "stddev": 1.0 }
+{ "gid": 1, "stddev": 1.0, "stddev_pop": 0.816496580927726 }
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/serial_stddev_int64/serial_stddev_int64.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/serial_stddev_int64/serial_stddev_int64.1.adm
index d2bef52..4e89687 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/serial_stddev_int64/serial_stddev_int64.1.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/serial_stddev_int64/serial_stddev_int64.1.adm
@@ -1 +1 @@
-{ "gid": 1, "stddev": 0.8944271909999159 }
+{ "gid": 1, "stddev": 0.8944271909999159, "stddev_pop": 0.8 }
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/serial_stddev_int64_null/serial_stddev_int64_null.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/serial_stddev_int64_null/serial_stddev_int64_null.1.adm
index 81fb89a..daa09e6 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/serial_stddev_int64_null/serial_stddev_int64_null.1.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/serial_stddev_int64_null/serial_stddev_int64_null.1.adm
@@ -1 +1 @@
-{ "gid": 1, "stddev": 1.0 }
+{ "gid": 1, "stddev": 1.0, "stddev_pop": 0.816496580927726 }
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/serial_stddev_int8/serial_stddev_int8.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/serial_stddev_int8/serial_stddev_int8.1.adm
index d2bef52..4e89687 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/serial_stddev_int8/serial_stddev_int8.1.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/serial_stddev_int8/serial_stddev_int8.1.adm
@@ -1 +1 @@
-{ "gid": 1, "stddev": 0.8944271909999159 }
+{ "gid": 1, "stddev": 0.8944271909999159, "stddev_pop": 0.8 }
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/serial_stddev_int8_null/serial_stddev_int8_null.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/serial_stddev_int8_null/serial_stddev_int8_null.1.adm
index 81fb89a..daa09e6 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/serial_stddev_int8_null/serial_stddev_int8_null.1.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/serial_stddev_int8_null/serial_stddev_int8_null.1.adm
@@ -1 +1 @@
-{ "gid": 1, "stddev": 1.0 }
+{ "gid": 1, "stddev": 1.0, "stddev_pop": 0.816496580927726 }
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/serial_stddev_pop_mixed/serial_stddev_pop_mixed.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/serial_stddev_pop_mixed/serial_stddev_pop_mixed.1.adm
new file mode 100644
index 0000000..e3b97f5
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/serial_stddev_pop_mixed/serial_stddev_pop_mixed.1.adm
@@ -0,0 +1 @@
+[  ]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/stddev_distinct/stddev_distinct.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/stddev_distinct/stddev_distinct.1.adm
new file mode 100644
index 0000000..51a2ce7
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/stddev_distinct/stddev_distinct.1.adm
@@ -0,0 +1 @@
+{ "t1": 10, "t2": null, "t3": 7, "t4": null, "t5": 8, "t6": null, "t7": 5, "t8": null }
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/stddev_double/stddev_double.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/stddev_double/stddev_double.1.adm
index d3827e7..653259d 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/stddev_double/stddev_double.1.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/stddev_double/stddev_double.1.adm
@@ -1 +1 @@
-1.0
+{ "stddev": [ 1.0 ], "stddev_pop": [ 0.816496580927726 ] }
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/stddev_double_null/stddev_double_null.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/stddev_double_null/stddev_double_null.1.adm
index 74efe52..4f788be 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/stddev_double_null/stddev_double_null.1.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/stddev_double_null/stddev_double_null.1.adm
@@ -1 +1 @@
-{ "stddev": 0.0 }
+{ "stddev": 0.0, "stddev_pop": 0.0 }
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/stddev_empty_01/stddev_empty_01.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/stddev_empty_01/stddev_empty_01.1.adm
index 19765bd..eb24dcb 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/stddev_empty_01/stddev_empty_01.1.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/stddev_empty_01/stddev_empty_01.1.adm
@@ -1 +1 @@
-null
+{ "stddev": [ null ], "stddev_pop": [ null ] }
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/stddev_empty_02/stddev_empty_02.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/stddev_empty_02/stddev_empty_02.1.adm
index 19765bd..eb24dcb 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/stddev_empty_02/stddev_empty_02.1.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/stddev_empty_02/stddev_empty_02.1.adm
@@ -1 +1 @@
-null
+{ "stddev": [ null ], "stddev_pop": [ null ] }
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/stddev_float/stddev_float.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/stddev_float/stddev_float.1.adm
index d3827e7..653259d 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/stddev_float/stddev_float.1.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/stddev_float/stddev_float.1.adm
@@ -1 +1 @@
-1.0
+{ "stddev": [ 1.0 ], "stddev_pop": [ 0.816496580927726 ] }
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/stddev_float_null/stddev_float_null.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/stddev_float_null/stddev_float_null.1.adm
index 74efe52..4f788be 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/stddev_float_null/stddev_float_null.1.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/stddev_float_null/stddev_float_null.1.adm
@@ -1 +1 @@
-{ "stddev": 0.0 }
+{ "stddev": 0.0, "stddev_pop": 0.0 }
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/stddev_int16/stddev_int16.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/stddev_int16/stddev_int16.1.adm
index d3827e7..653259d 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/stddev_int16/stddev_int16.1.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/stddev_int16/stddev_int16.1.adm
@@ -1 +1 @@
-1.0
+{ "stddev": [ 1.0 ], "stddev_pop": [ 0.816496580927726 ] }
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/stddev_int16_null/stddev_int16_null.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/stddev_int16_null/stddev_int16_null.1.adm
index 74efe52..4f788be 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/stddev_int16_null/stddev_int16_null.1.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/stddev_int16_null/stddev_int16_null.1.adm
@@ -1 +1 @@
-{ "stddev": 0.0 }
+{ "stddev": 0.0, "stddev_pop": 0.0 }
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/stddev_int32/stddev_int32.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/stddev_int32/stddev_int32.1.adm
index d3827e7..653259d 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/stddev_int32/stddev_int32.1.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/stddev_int32/stddev_int32.1.adm
@@ -1 +1 @@
-1.0
+{ "stddev": [ 1.0 ], "stddev_pop": [ 0.816496580927726 ] }
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/stddev_int32_null/stddev_int32_null.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/stddev_int32_null/stddev_int32_null.1.adm
index 74efe52..4f788be 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/stddev_int32_null/stddev_int32_null.1.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/stddev_int32_null/stddev_int32_null.1.adm
@@ -1 +1 @@
-{ "stddev": 0.0 }
+{ "stddev": 0.0, "stddev_pop": 0.0 }
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/stddev_int64/stddev_int64.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/stddev_int64/stddev_int64.1.adm
index d3827e7..653259d 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/stddev_int64/stddev_int64.1.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/stddev_int64/stddev_int64.1.adm
@@ -1 +1 @@
-1.0
+{ "stddev": [ 1.0 ], "stddev_pop": [ 0.816496580927726 ] }
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/stddev_int64_null/stddev_int64_null.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/stddev_int64_null/stddev_int64_null.1.adm
index 74efe52..4f788be 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/stddev_int64_null/stddev_int64_null.1.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/stddev_int64_null/stddev_int64_null.1.adm
@@ -1 +1 @@
-{ "stddev": 0.0 }
+{ "stddev": 0.0, "stddev_pop": 0.0 }
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/stddev_int8/stddev_int8.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/stddev_int8/stddev_int8.1.adm
index d3827e7..653259d 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/stddev_int8/stddev_int8.1.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/stddev_int8/stddev_int8.1.adm
@@ -1 +1 @@
-1.0
+{ "stddev": [ 1.0 ], "stddev_pop": [ 0.816496580927726 ] }
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/stddev_int8_null/stddev_int8_null.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/stddev_int8_null/stddev_int8_null.1.adm
index 43cef5a..20dd54a 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/stddev_int8_null/stddev_int8_null.1.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/stddev_int8_null/stddev_int8_null.1.adm
@@ -1 +1 @@
-{ "stddev": 26.0 }
+{ "stddev": 26.0, "stddev_pop": 21.228911104120876 }
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/stddev_pop_mixed/stddev_pop_mixed.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/stddev_pop_mixed/stddev_pop_mixed.1.adm
new file mode 100644
index 0000000..e3b97f5
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/stddev_pop_mixed/stddev_pop_mixed.1.adm
@@ -0,0 +1 @@
+[  ]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/agg_null/agg_null.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/agg_null/agg_null.1.adm
index 979beb0..78a89a3 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/agg_null/agg_null.1.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/agg_null/agg_null.1.adm
@@ -1 +1 @@
-{ "count1": 1, "average1": null, "sum1": null, "min1": null, "max1": null, "stddev1": null, "count2": 2, "average2": null, "sum2": null, "min2": null, "max2": null, "stddev2": null }
+{ "count1": 1, "average1": null, "sum1": null, "min1": null, "max1": null, "stddev1": null, "stddev_pop1": null, "count2": 2, "average2": null, "sum2": null, "min2": null, "max2": null, "stddev2": null, "stddev_pop2": null }
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/agg_null_rec/agg_null_rec.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/agg_null_rec/agg_null_rec.1.adm
index 7f18cac..054e601 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/agg_null_rec/agg_null_rec.1.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/agg_null_rec/agg_null_rec.1.adm
@@ -1 +1 @@
-{ "count": 3, "average": null, "stddev": null, "sum": null, "min": null, "max": null }
\ No newline at end of file
+{ "count": 3, "average": null, "stddev": null, "stddev_pop": null, "sum": null, "min": null, "max": null }
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/agg_null_rec_1/agg_null_rec.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/agg_null_rec_1/agg_null_rec.1.adm
index 683f829..4be73ca 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/agg_null_rec_1/agg_null_rec.1.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/agg_null_rec_1/agg_null_rec.1.adm
@@ -1 +1 @@
-{ "count": 3, "average": 5.32, "sum": 15.96, "stddev": 1.0, "min": null, "max": null }
+{ "count": 3, "average": 5.32, "sum": 15.96, "stddev": 1.0, "stddev_pop": 0.816496580927726, "min": null, "max": null }
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/agg_number/agg_number.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/agg_number/agg_number.1.adm
index 7ac56d4..d6c4363 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/agg_number/agg_number.1.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/agg_number/agg_number.1.adm
@@ -1 +1 @@
-{ "count1": 4, "average1": 2.3461845695961844E16, "stddev1": 4.6923691391923688E16, "count2": 4, "average2": 2.3461845695961844E16, "stddev2": 4.6923691391923688E16, "sum1": 9.3847382783847376E16, "min1": 1.0, "max1": 9.3847382783847376E16, "sum2": 9.3847382783847376E16, "min2": 1.0, "max2": 9.3847382783847376E16 }
+{ "count1": 4, "average1": 2.3461845695961844E16, "stddev1": 4.6923691391923688E16, "stddev_pop1": 4.0637108784747104E16, "count2": 4, "average2": 2.3461845695961844E16, "stddev2": 4.6923691391923688E16, "stddev_pop2": 4.0637108784747104E16, "sum1": 9.3847382783847376E16, "min1": 1.0, "max1": 9.3847382783847376E16, "sum2": 9.3847382783847376E16, "min2": 1.0, "max2": 9.3847382783847376E16 }
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/agg_number_rec/agg_number_rec.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/agg_number_rec/agg_number_rec.1.adm
index 2e68a7b..633b714 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/agg_number_rec/agg_number_rec.1.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/agg_number_rec/agg_number_rec.1.adm
@@ -1 +1 @@
-{ "count": 3, "average": 1.2824609161579424E16, "stddev": 2.2212874655068836E16, "sum": 3.8473827484738272E16, "min": 2.0, "max": 3.847382748473824E16 }
+{ "count": 3, "average": 1.2824609161579424E16, "stddev": 2.2212874655068836E16, "stddev_pop": 1.8136736208439848E16, "sum": 3.8473827484738272E16, "min": 2.0, "max": 3.847382748473824E16 }
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/scalar_stddev/scalar_stddev.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/scalar_stddev/scalar_stddev.1.adm
index 325ebd5..16c838c 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/scalar_stddev/scalar_stddev.1.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/scalar_stddev/scalar_stddev.1.adm
@@ -1,6 +1 @@
-1.0
-1.0
-1.0
-1.0
-1.0
-1.0
+{ "stddev": [ 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 ], "stddev_pop": [ 0.816496580927726, 0.816496580927726, 0.816496580927726, 0.816496580927726, 0.816496580927726, 0.816496580927726 ] }
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/scalar_stddev_empty/scalar_stddev_empty.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/scalar_stddev_empty/scalar_stddev_empty.1.adm
index 19765bd..eb24dcb 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/scalar_stddev_empty/scalar_stddev_empty.1.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/scalar_stddev_empty/scalar_stddev_empty.1.adm
@@ -1 +1 @@
-null
+{ "stddev": [ null ], "stddev_pop": [ null ] }
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/scalar_stddev_null/scalar_stddev_null.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/scalar_stddev_null/scalar_stddev_null.1.adm
index aef8b7f..a8cdc43 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/scalar_stddev_null/scalar_stddev_null.1.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/scalar_stddev_null/scalar_stddev_null.1.adm
@@ -1,6 +1 @@
-null
-null
-null
-null
-null
-null
+{ "stddev": [ null, null, null, null, null, null ], "stddev_pop": [ null, null, null, null, null, null ] }
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/serial_stddev_double/serial_stddev_double.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/serial_stddev_double/serial_stddev_double.1.adm
index d2bef52..4e89687 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/serial_stddev_double/serial_stddev_double.1.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/serial_stddev_double/serial_stddev_double.1.adm
@@ -1 +1 @@
-{ "gid": 1, "stddev": 0.8944271909999159 }
+{ "gid": 1, "stddev": 0.8944271909999159, "stddev_pop": 0.8 }
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/serial_stddev_double_null/serial_stddev_double_null.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/serial_stddev_double_null/serial_stddev_double_null.1.adm
index c65635a..0405f84 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/serial_stddev_double_null/serial_stddev_double_null.1.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/serial_stddev_double_null/serial_stddev_double_null.1.adm
@@ -1 +1 @@
-{ "gid": 1, "stddev": null }
+{ "gid": 1, "stddev": null, "stddev_pop": null }
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/serial_stddev_float/serial_stddev_float.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/serial_stddev_float/serial_stddev_float.1.adm
index d2bef52..4e89687 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/serial_stddev_float/serial_stddev_float.1.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/serial_stddev_float/serial_stddev_float.1.adm
@@ -1 +1 @@
-{ "gid": 1, "stddev": 0.8944271909999159 }
+{ "gid": 1, "stddev": 0.8944271909999159, "stddev_pop": 0.8 }
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/serial_stddev_float_null/serial_stddev_float_null.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/serial_stddev_float_null/serial_stddev_float_null.1.adm
index c65635a..0405f84 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/serial_stddev_float_null/serial_stddev_float_null.1.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/serial_stddev_float_null/serial_stddev_float_null.1.adm
@@ -1 +1 @@
-{ "gid": 1, "stddev": null }
+{ "gid": 1, "stddev": null, "stddev_pop": null }
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/serial_stddev_int16/serial_stddev_int16.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/serial_stddev_int16/serial_stddev_int16.1.adm
index d2bef52..4e89687 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/serial_stddev_int16/serial_stddev_int16.1.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/serial_stddev_int16/serial_stddev_int16.1.adm
@@ -1 +1 @@
-{ "gid": 1, "stddev": 0.8944271909999159 }
+{ "gid": 1, "stddev": 0.8944271909999159, "stddev_pop": 0.8 }
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/serial_stddev_int16_null/serial_stddev_int16_null.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/serial_stddev_int16_null/serial_stddev_int16_null.1.adm
index c65635a..0405f84 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/serial_stddev_int16_null/serial_stddev_int16_null.1.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/serial_stddev_int16_null/serial_stddev_int16_null.1.adm
@@ -1 +1 @@
-{ "gid": 1, "stddev": null }
+{ "gid": 1, "stddev": null, "stddev_pop": null }
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/serial_stddev_int32/serial_stddev_int32.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/serial_stddev_int32/serial_stddev_int32.1.adm
index d2bef52..4e89687 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/serial_stddev_int32/serial_stddev_int32.1.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/serial_stddev_int32/serial_stddev_int32.1.adm
@@ -1 +1 @@
-{ "gid": 1, "stddev": 0.8944271909999159 }
+{ "gid": 1, "stddev": 0.8944271909999159, "stddev_pop": 0.8 }
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/serial_stddev_int32_null/serial_stddev_int32_null.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/serial_stddev_int32_null/serial_stddev_int32_null.1.adm
index c65635a..0405f84 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/serial_stddev_int32_null/serial_stddev_int32_null.1.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/serial_stddev_int32_null/serial_stddev_int32_null.1.adm
@@ -1 +1 @@
-{ "gid": 1, "stddev": null }
+{ "gid": 1, "stddev": null, "stddev_pop": null }
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/serial_stddev_int64/serial_stddev_int64.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/serial_stddev_int64/serial_stddev_int64.1.adm
index d2bef52..4e89687 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/serial_stddev_int64/serial_stddev_int64.1.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/serial_stddev_int64/serial_stddev_int64.1.adm
@@ -1 +1 @@
-{ "gid": 1, "stddev": 0.8944271909999159 }
+{ "gid": 1, "stddev": 0.8944271909999159, "stddev_pop": 0.8 }
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/serial_stddev_int64_null/serial_stddev_int64_null.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/serial_stddev_int64_null/serial_stddev_int64_null.1.adm
index c65635a..0405f84 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/serial_stddev_int64_null/serial_stddev_int64_null.1.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/serial_stddev_int64_null/serial_stddev_int64_null.1.adm
@@ -1 +1 @@
-{ "gid": 1, "stddev": null }
+{ "gid": 1, "stddev": null, "stddev_pop": null }
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/serial_stddev_int8/serial_stddev_int8.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/serial_stddev_int8/serial_stddev_int8.1.adm
index d2bef52..4e89687 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/serial_stddev_int8/serial_stddev_int8.1.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/serial_stddev_int8/serial_stddev_int8.1.adm
@@ -1 +1 @@
-{ "gid": 1, "stddev": 0.8944271909999159 }
+{ "gid": 1, "stddev": 0.8944271909999159, "stddev_pop": 0.8 }
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/serial_stddev_int8_null/serial_stddev_int8_null.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/serial_stddev_int8_null/serial_stddev_int8_null.1.adm
index c65635a..0405f84 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/serial_stddev_int8_null/serial_stddev_int8_null.1.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/serial_stddev_int8_null/serial_stddev_int8_null.1.adm
@@ -1 +1 @@
-{ "gid": 1, "stddev": null }
+{ "gid": 1, "stddev": null, "stddev_pop": null }
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/serial_stddev_pop_mixed/serial_stddev_pop_mixed.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/serial_stddev_pop_mixed/serial_stddev_pop_mixed.1.adm
new file mode 100644
index 0000000..8ca0475
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/serial_stddev_pop_mixed/serial_stddev_pop_mixed.1.adm
@@ -0,0 +1 @@
+{ "gid": 1, "stddev_pop": null }
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/stddev_distinct/stddev_distinct.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/stddev_distinct/stddev_distinct.1.adm
new file mode 100644
index 0000000..17f7b05
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/stddev_distinct/stddev_distinct.1.adm
@@ -0,0 +1 @@
+{ "t1": 10, "t2": null, "t3": null, "t4": null, "t5": 8, "t6": null, "t7": null, "t8": null }
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/stddev_double/stddev_double.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/stddev_double/stddev_double.1.adm
index d3827e7..653259d 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/stddev_double/stddev_double.1.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/stddev_double/stddev_double.1.adm
@@ -1 +1 @@
-1.0
+{ "stddev": [ 1.0 ], "stddev_pop": [ 0.816496580927726 ] }
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/stddev_double_null/stddev_double_null.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/stddev_double_null/stddev_double_null.1.adm
index f41cf92..07f36d3 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/stddev_double_null/stddev_double_null.1.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/stddev_double_null/stddev_double_null.1.adm
@@ -1 +1 @@
-{ "stddev": null }
+{ "stddev": null, "stddev_pop": null }
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/stddev_empty_01/stddev_empty_01.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/stddev_empty_01/stddev_empty_01.1.adm
index 19765bd..eb24dcb 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/stddev_empty_01/stddev_empty_01.1.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/stddev_empty_01/stddev_empty_01.1.adm
@@ -1 +1 @@
-null
+{ "stddev": [ null ], "stddev_pop": [ null ] }
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/stddev_empty_02/stddev_empty_02.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/stddev_empty_02/stddev_empty_02.1.adm
index 19765bd..eb24dcb 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/stddev_empty_02/stddev_empty_02.1.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/stddev_empty_02/stddev_empty_02.1.adm
@@ -1 +1 @@
-null
+{ "stddev": [ null ], "stddev_pop": [ null ] }
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/stddev_float/stddev_float.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/stddev_float/stddev_float.1.adm
index d3827e7..653259d 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/stddev_float/stddev_float.1.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/stddev_float/stddev_float.1.adm
@@ -1 +1 @@
-1.0
+{ "stddev": [ 1.0 ], "stddev_pop": [ 0.816496580927726 ] }
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/stddev_float_null/stddev_float_null.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/stddev_float_null/stddev_float_null.1.adm
index f41cf92..07f36d3 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/stddev_float_null/stddev_float_null.1.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/stddev_float_null/stddev_float_null.1.adm
@@ -1 +1 @@
-{ "stddev": null }
+{ "stddev": null, "stddev_pop": null }
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/stddev_int16/stddev_int16.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/stddev_int16/stddev_int16.1.adm
index d3827e7..653259d 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/stddev_int16/stddev_int16.1.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/stddev_int16/stddev_int16.1.adm
@@ -1 +1 @@
-1.0
+{ "stddev": [ 1.0 ], "stddev_pop": [ 0.816496580927726 ] }
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/stddev_int16_null/stddev_int16_null.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/stddev_int16_null/stddev_int16_null.1.adm
index f41cf92..07f36d3 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/stddev_int16_null/stddev_int16_null.1.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/stddev_int16_null/stddev_int16_null.1.adm
@@ -1 +1 @@
-{ "stddev": null }
+{ "stddev": null, "stddev_pop": null }
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/stddev_int32/stddev_int32.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/stddev_int32/stddev_int32.1.adm
index d3827e7..653259d 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/stddev_int32/stddev_int32.1.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/stddev_int32/stddev_int32.1.adm
@@ -1 +1 @@
-1.0
+{ "stddev": [ 1.0 ], "stddev_pop": [ 0.816496580927726 ] }
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/stddev_int32_null/stddev_int32_null.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/stddev_int32_null/stddev_int32_null.1.adm
index f41cf92..07f36d3 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/stddev_int32_null/stddev_int32_null.1.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/stddev_int32_null/stddev_int32_null.1.adm
@@ -1 +1 @@
-{ "stddev": null }
+{ "stddev": null, "stddev_pop": null }
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/stddev_int64/stddev_int64.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/stddev_int64/stddev_int64.1.adm
index d3827e7..653259d 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/stddev_int64/stddev_int64.1.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/stddev_int64/stddev_int64.1.adm
@@ -1 +1 @@
-1.0
+{ "stddev": [ 1.0 ], "stddev_pop": [ 0.816496580927726 ] }
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/stddev_int64_null/stddev_int64_null.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/stddev_int64_null/stddev_int64_null.1.adm
index f41cf92..07f36d3 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/stddev_int64_null/stddev_int64_null.1.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/stddev_int64_null/stddev_int64_null.1.adm
@@ -1 +1 @@
-{ "stddev": null }
+{ "stddev": null, "stddev_pop": null }
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/stddev_int8/stddev_int8.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/stddev_int8/stddev_int8.1.adm
index d3827e7..653259d 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/stddev_int8/stddev_int8.1.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/stddev_int8/stddev_int8.1.adm
@@ -1 +1 @@
-1.0
+{ "stddev": [ 1.0 ], "stddev_pop": [ 0.816496580927726 ] }
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/stddev_int8_null/stddev_int8_null.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/stddev_int8_null/stddev_int8_null.1.adm
index f41cf92..07f36d3 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/stddev_int8_null/stddev_int8_null.1.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/stddev_int8_null/stddev_int8_null.1.adm
@@ -1 +1 @@
-{ "stddev": null }
+{ "stddev": null, "stddev_pop": null }
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/stddev_pop_mixed/stddev_pop_mixed.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/stddev_pop_mixed/stddev_pop_mixed.1.adm
new file mode 100644
index 0000000..e3b97f5
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/stddev_pop_mixed/stddev_pop_mixed.1.adm
@@ -0,0 +1 @@
+[  ]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/agg_null/agg_null.3.ast b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/agg_null/agg_null.3.ast
index 7405394..0e8f3ea 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/agg_null/agg_null.3.ast
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/agg_null/agg_null.3.ast
@@ -55,6 +55,15 @@
     ]
   )
   (
+    LiteralExpr [STRING] [sql-stddev_pop1]
+    :
+    FunctionCall asterix.sql-stddev_pop@1[
+      OrderedListConstructor [
+        LiteralExpr [NULL]
+      ]
+    ]
+  )
+  (
     LiteralExpr [STRING] [sql-count2]
     :
     FunctionCall asterix.sql-count@1[
@@ -114,4 +123,14 @@
       ]
     ]
   )
+  (
+    LiteralExpr [STRING] [sql-stddev_pop2]
+    :
+    FunctionCall asterix.sql-stddev_pop@1[
+      UnorderedListConstructor [
+        LiteralExpr [NULL]
+        LiteralExpr [NULL]
+      ]
+    ]
+  )
 ]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/agg_null_rec/agg_null_rec.3.ast b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/agg_null_rec/agg_null_rec.3.ast
index 167b753..96cbb48 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/agg_null_rec/agg_null_rec.3.ast
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/agg_null_rec/agg_null_rec.3.ast
@@ -115,4 +115,23 @@
       )
     ]
   )
+  (
+    LiteralExpr [STRING] [sql-stddev_pop]
+    :
+    FunctionCall asterix.sql-stddev_pop@1[
+      (
+        SELECT ELEMENT [
+        FieldAccessor [
+          Variable [ Name=$t ]
+          Field=valplus
+        ]
+        ]
+        FROM [          FunctionCall asterix.dataset@1[
+            LiteralExpr [STRING] [test.Test]
+          ]
+          AS Variable [ Name=$t ]
+        ]
+      )
+    ]
+  )
 ]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/agg_null_rec_1/agg_null_rec_1.3.ast b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/agg_null_rec_1/agg_null_rec_1.3.ast
index 97c3cfa..c411817 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/agg_null_rec_1/agg_null_rec_1.3.ast
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/agg_null_rec_1/agg_null_rec_1.3.ast
@@ -147,4 +147,30 @@
       )
     ]
   )
+  (
+    LiteralExpr [STRING] [sql-stddev_pop]
+    :
+    FunctionCall asterix.sql-stddev_pop@1[
+      (
+        SELECT ELEMENT [
+        FieldAccessor [
+          Variable [ Name=$i ]
+          Field=valplus
+        ]
+        ]
+        FROM [          (
+            SELECT ELEMENT [
+            Variable [ Name=$t ]
+            ]
+            FROM [              FunctionCall asterix.dataset@1[
+                LiteralExpr [STRING] [test.Test]
+              ]
+              AS Variable [ Name=$t ]
+            ]
+          )
+          AS Variable [ Name=$i ]
+        ]
+      )
+    ]
+  )
 ]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/agg_number/agg_number.3.ast b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/agg_number/agg_number.3.ast
index bfa0267..cbaebaa 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/agg_number/agg_number.3.ast
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/agg_number/agg_number.3.ast
@@ -97,6 +97,22 @@
     ]
   )
   (
+    LiteralExpr [STRING] [sql-stddev_pop1]
+    :
+    FunctionCall asterix.sql-stddev_pop@1[
+      OrderedListConstructor [
+        FunctionCall null.float@1[
+          LiteralExpr [STRING] [2.0]
+        ]
+        FunctionCall null.double@1[
+          LiteralExpr [STRING] [3.0]
+        ]
+        LiteralExpr [LONG] [93847382783847382]
+        LiteralExpr [LONG] [1]
+      ]
+    ]
+  )
+  (
     LiteralExpr [STRING] [sql-count2]
     :
     FunctionCall asterix.sql-count@1[
@@ -192,4 +208,20 @@
       ]
     ]
   )
+  (
+    LiteralExpr [STRING] [sql-stddev_pop2]
+    :
+    FunctionCall asterix.sql-stddev_pop@1[
+      UnorderedListConstructor [
+        FunctionCall null.float@1[
+          LiteralExpr [STRING] [2.0]
+        ]
+        FunctionCall null.double@1[
+          LiteralExpr [STRING] [3.0]
+        ]
+        LiteralExpr [LONG] [93847382783847382]
+        LiteralExpr [LONG] [1]
+      ]
+    ]
+  )
 ]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/agg_number_rec/agg_number_rec.3.ast b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/agg_number_rec/agg_number_rec.3.ast
index 167b753..96cbb48 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/agg_number_rec/agg_number_rec.3.ast
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/agg_number_rec/agg_number_rec.3.ast
@@ -115,4 +115,23 @@
       )
     ]
   )
+  (
+    LiteralExpr [STRING] [sql-stddev_pop]
+    :
+    FunctionCall asterix.sql-stddev_pop@1[
+      (
+        SELECT ELEMENT [
+        FieldAccessor [
+          Variable [ Name=$t ]
+          Field=valplus
+        ]
+        ]
+        FROM [          FunctionCall asterix.dataset@1[
+            LiteralExpr [STRING] [test.Test]
+          ]
+          AS Variable [ Name=$t ]
+        ]
+      )
+    ]
+  )
 ]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/scalar_stddev/scalar_stddev.3.ast b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/scalar_stddev/scalar_stddev.3.ast
index a206740..c9a7865 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/scalar_stddev/scalar_stddev.3.ast
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/scalar_stddev/scalar_stddev.3.ast
@@ -1,105 +1,222 @@
 DataverseUse test
 Query:
-Let Variable [ Name=$i8 ]
-  :=
-  FunctionCall asterix.sql-stddev@1[
-    OrderedListConstructor [
-      FunctionCall test.int8@1[
-        LiteralExpr [STRING] [1]
+RecordConstructor [
+  (
+    LiteralExpr [STRING] [stddev]
+    :
+    (
+      Let Variable [ Name=$i8 ]
+        :=
+        FunctionCall asterix.sql-stddev@1[
+          OrderedListConstructor [
+            FunctionCall test.int8@1[
+              LiteralExpr [STRING] [1]
+            ]
+            FunctionCall test.int8@1[
+              LiteralExpr [STRING] [2]
+            ]
+            FunctionCall test.int8@1[
+              LiteralExpr [STRING] [3]
+            ]
+          ]
+        ]
+      Let Variable [ Name=$i16 ]
+        :=
+        FunctionCall asterix.sql-stddev@1[
+          OrderedListConstructor [
+            FunctionCall test.int16@1[
+              LiteralExpr [STRING] [1]
+            ]
+            FunctionCall test.int16@1[
+              LiteralExpr [STRING] [2]
+            ]
+            FunctionCall test.int16@1[
+              LiteralExpr [STRING] [3]
+            ]
+          ]
+        ]
+      Let Variable [ Name=$i32 ]
+        :=
+        FunctionCall asterix.sql-stddev@1[
+          OrderedListConstructor [
+            FunctionCall test.int32@1[
+              LiteralExpr [STRING] [1]
+            ]
+            FunctionCall test.int32@1[
+              LiteralExpr [STRING] [2]
+            ]
+            FunctionCall test.int32@1[
+              LiteralExpr [STRING] [3]
+            ]
+          ]
+        ]
+      Let Variable [ Name=$i64 ]
+        :=
+        FunctionCall asterix.sql-stddev@1[
+          OrderedListConstructor [
+            FunctionCall test.int64@1[
+              LiteralExpr [STRING] [1]
+            ]
+            FunctionCall test.int64@1[
+              LiteralExpr [STRING] [2]
+            ]
+            FunctionCall test.int64@1[
+              LiteralExpr [STRING] [3]
+            ]
+          ]
+        ]
+      Let Variable [ Name=$f ]
+        :=
+        FunctionCall asterix.sql-stddev@1[
+          OrderedListConstructor [
+            FunctionCall test.float@1[
+              LiteralExpr [STRING] [1]
+            ]
+            FunctionCall test.float@1[
+              LiteralExpr [STRING] [2]
+            ]
+            FunctionCall test.float@1[
+              LiteralExpr [STRING] [3]
+            ]
+          ]
+        ]
+      Let Variable [ Name=$d ]
+        :=
+        FunctionCall asterix.sql-stddev@1[
+          OrderedListConstructor [
+            FunctionCall test.double@1[
+              LiteralExpr [STRING] [1]
+            ]
+            FunctionCall test.double@1[
+              LiteralExpr [STRING] [2]
+            ]
+            FunctionCall test.double@1[
+              LiteralExpr [STRING] [3]
+            ]
+          ]
+        ]
+      SELECT ELEMENT [
+      Variable [ Name=$i ]
       ]
-      FunctionCall test.int8@1[
-        LiteralExpr [STRING] [2]
+      FROM [        OrderedListConstructor [
+          Variable [ Name=$i8 ]
+          Variable [ Name=$i16 ]
+          Variable [ Name=$i32 ]
+          Variable [ Name=$i64 ]
+          Variable [ Name=$f ]
+          Variable [ Name=$d ]
+        ]
+        AS Variable [ Name=$i ]
       ]
-      FunctionCall test.int8@1[
-        LiteralExpr [STRING] [3]
+    )
+  )
+  (
+    LiteralExpr [STRING] [stddev_pop]
+    :
+    (
+      Let Variable [ Name=$i8 ]
+        :=
+        FunctionCall asterix.sql-stddev_pop@1[
+          OrderedListConstructor [
+            FunctionCall test.int8@1[
+              LiteralExpr [STRING] [1]
+            ]
+            FunctionCall test.int8@1[
+              LiteralExpr [STRING] [2]
+            ]
+            FunctionCall test.int8@1[
+              LiteralExpr [STRING] [3]
+            ]
+          ]
+        ]
+      Let Variable [ Name=$i16 ]
+        :=
+        FunctionCall asterix.sql-stddev_pop@1[
+          OrderedListConstructor [
+            FunctionCall test.int16@1[
+              LiteralExpr [STRING] [1]
+            ]
+            FunctionCall test.int16@1[
+              LiteralExpr [STRING] [2]
+            ]
+            FunctionCall test.int16@1[
+              LiteralExpr [STRING] [3]
+            ]
+          ]
+        ]
+      Let Variable [ Name=$i32 ]
+        :=
+        FunctionCall asterix.sql-stddev_pop@1[
+          OrderedListConstructor [
+            FunctionCall test.int32@1[
+              LiteralExpr [STRING] [1]
+            ]
+            FunctionCall test.int32@1[
+              LiteralExpr [STRING] [2]
+            ]
+            FunctionCall test.int32@1[
+              LiteralExpr [STRING] [3]
+            ]
+          ]
+        ]
+      Let Variable [ Name=$i64 ]
+        :=
+        FunctionCall asterix.sql-stddev_pop@1[
+          OrderedListConstructor [
+            FunctionCall test.int64@1[
+              LiteralExpr [STRING] [1]
+            ]
+            FunctionCall test.int64@1[
+              LiteralExpr [STRING] [2]
+            ]
+            FunctionCall test.int64@1[
+              LiteralExpr [STRING] [3]
+            ]
+          ]
+        ]
+      Let Variable [ Name=$f ]
+        :=
+        FunctionCall asterix.sql-stddev_pop@1[
+          OrderedListConstructor [
+            FunctionCall test.float@1[
+              LiteralExpr [STRING] [1]
+            ]
+            FunctionCall test.float@1[
+              LiteralExpr [STRING] [2]
+            ]
+            FunctionCall test.float@1[
+              LiteralExpr [STRING] [3]
+            ]
+          ]
+        ]
+      Let Variable [ Name=$d ]
+        :=
+        FunctionCall asterix.sql-stddev_pop@1[
+          OrderedListConstructor [
+            FunctionCall test.double@1[
+              LiteralExpr [STRING] [1]
+            ]
+            FunctionCall test.double@1[
+              LiteralExpr [STRING] [2]
+            ]
+            FunctionCall test.double@1[
+              LiteralExpr [STRING] [3]
+            ]
+          ]
+        ]
+      SELECT ELEMENT [
+      Variable [ Name=$i ]
       ]
-    ]
-  ]
-Let Variable [ Name=$i16 ]
-  :=
-  FunctionCall asterix.sql-stddev@1[
-    OrderedListConstructor [
-      FunctionCall test.int16@1[
-        LiteralExpr [STRING] [1]
+      FROM [        OrderedListConstructor [
+          Variable [ Name=$i8 ]
+          Variable [ Name=$i16 ]
+          Variable [ Name=$i32 ]
+          Variable [ Name=$i64 ]
+          Variable [ Name=$f ]
+          Variable [ Name=$d ]
+        ]
+        AS Variable [ Name=$i ]
       ]
-      FunctionCall test.int16@1[
-        LiteralExpr [STRING] [2]
-      ]
-      FunctionCall test.int16@1[
-        LiteralExpr [STRING] [3]
-      ]
-    ]
-  ]
-Let Variable [ Name=$i32 ]
-  :=
-  FunctionCall asterix.sql-stddev@1[
-    OrderedListConstructor [
-      FunctionCall test.int32@1[
-        LiteralExpr [STRING] [1]
-      ]
-      FunctionCall test.int32@1[
-        LiteralExpr [STRING] [2]
-      ]
-      FunctionCall test.int32@1[
-        LiteralExpr [STRING] [3]
-      ]
-    ]
-  ]
-Let Variable [ Name=$i64 ]
-  :=
-  FunctionCall asterix.sql-stddev@1[
-    OrderedListConstructor [
-      FunctionCall test.int64@1[
-        LiteralExpr [STRING] [1]
-      ]
-      FunctionCall test.int64@1[
-        LiteralExpr [STRING] [2]
-      ]
-      FunctionCall test.int64@1[
-        LiteralExpr [STRING] [3]
-      ]
-    ]
-  ]
-Let Variable [ Name=$f ]
-  :=
-  FunctionCall asterix.sql-stddev@1[
-    OrderedListConstructor [
-      FunctionCall test.float@1[
-        LiteralExpr [STRING] [1]
-      ]
-      FunctionCall test.float@1[
-        LiteralExpr [STRING] [2]
-      ]
-      FunctionCall test.float@1[
-        LiteralExpr [STRING] [3]
-      ]
-    ]
-  ]
-Let Variable [ Name=$d ]
-  :=
-  FunctionCall asterix.sql-stddev@1[
-    OrderedListConstructor [
-      FunctionCall test.double@1[
-        LiteralExpr [STRING] [1]
-      ]
-      FunctionCall test.double@1[
-        LiteralExpr [STRING] [2]
-      ]
-      FunctionCall test.double@1[
-        LiteralExpr [STRING] [3]
-      ]
-    ]
-  ]
-SELECT ELEMENT [
-Variable [ Name=$i ]
-]
-FROM [  OrderedListConstructor [
-    Variable [ Name=$i8 ]
-    Variable [ Name=$i16 ]
-    Variable [ Name=$i32 ]
-    Variable [ Name=$i64 ]
-    Variable [ Name=$f ]
-    Variable [ Name=$d ]
-  ]
-  AS Variable [ Name=$i ]
+    )
+  )
 ]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/scalar_stddev_empty/scalar_stddev_empty.3.ast b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/scalar_stddev_empty/scalar_stddev_empty.3.ast
index 6954f95..3fd8fec 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/scalar_stddev_empty/scalar_stddev_empty.3.ast
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/scalar_stddev_empty/scalar_stddev_empty.3.ast
@@ -1,7 +1,27 @@
 Query:
-SELECT ELEMENT [
-FunctionCall asterix.sql-stddev@1[
-  OrderedListConstructor [
-  ]
-]
+RecordConstructor [
+  (
+    LiteralExpr [STRING] [stddev]
+    :
+    (
+      SELECT ELEMENT [
+      FunctionCall asterix.sql-stddev@1[
+        OrderedListConstructor [
+        ]
+      ]
+      ]
+    )
+  )
+  (
+    LiteralExpr [STRING] [stddev_pop]
+    :
+    (
+      SELECT ELEMENT [
+      FunctionCall asterix.sql-stddev_pop@1[
+        OrderedListConstructor [
+        ]
+      ]
+      ]
+    )
+  )
 ]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/scalar_stddev_null/scalar_stddev_null.3.ast b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/scalar_stddev_null/scalar_stddev_null.3.ast
index 61692e0..5615328 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/scalar_stddev_null/scalar_stddev_null.3.ast
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/scalar_stddev_null/scalar_stddev_null.3.ast
@@ -1,111 +1,234 @@
 DataverseUse test
 Query:
-Let Variable [ Name=$i8 ]
-  :=
-  FunctionCall asterix.sql-stddev@1[
-    OrderedListConstructor [
-      FunctionCall test.int8@1[
-        LiteralExpr [STRING] [1]
+RecordConstructor [
+  (
+    LiteralExpr [STRING] [stddev]
+    :
+    (
+      Let Variable [ Name=$i8 ]
+        :=
+        FunctionCall asterix.sql-stddev@1[
+          OrderedListConstructor [
+            FunctionCall test.int8@1[
+              LiteralExpr [STRING] [1]
+            ]
+            FunctionCall test.int8@1[
+              LiteralExpr [STRING] [2]
+            ]
+            FunctionCall test.int8@1[
+              LiteralExpr [STRING] [3]
+            ]
+            LiteralExpr [NULL]
+          ]
+        ]
+      Let Variable [ Name=$i16 ]
+        :=
+        FunctionCall asterix.sql-stddev@1[
+          OrderedListConstructor [
+            FunctionCall test.int16@1[
+              LiteralExpr [STRING] [1]
+            ]
+            FunctionCall test.int16@1[
+              LiteralExpr [STRING] [2]
+            ]
+            FunctionCall test.int16@1[
+              LiteralExpr [STRING] [3]
+            ]
+            LiteralExpr [NULL]
+          ]
+        ]
+      Let Variable [ Name=$i32 ]
+        :=
+        FunctionCall asterix.sql-stddev@1[
+          OrderedListConstructor [
+            FunctionCall test.int32@1[
+              LiteralExpr [STRING] [1]
+            ]
+            FunctionCall test.int32@1[
+              LiteralExpr [STRING] [2]
+            ]
+            FunctionCall test.int32@1[
+              LiteralExpr [STRING] [3]
+            ]
+            LiteralExpr [NULL]
+          ]
+        ]
+      Let Variable [ Name=$i64 ]
+        :=
+        FunctionCall asterix.sql-stddev@1[
+          OrderedListConstructor [
+            FunctionCall test.int64@1[
+              LiteralExpr [STRING] [1]
+            ]
+            FunctionCall test.int64@1[
+              LiteralExpr [STRING] [2]
+            ]
+            FunctionCall test.int64@1[
+              LiteralExpr [STRING] [3]
+            ]
+            LiteralExpr [NULL]
+          ]
+        ]
+      Let Variable [ Name=$f ]
+        :=
+        FunctionCall asterix.sql-stddev@1[
+          OrderedListConstructor [
+            FunctionCall test.float@1[
+              LiteralExpr [STRING] [1]
+            ]
+            FunctionCall test.float@1[
+              LiteralExpr [STRING] [2]
+            ]
+            FunctionCall test.float@1[
+              LiteralExpr [STRING] [3]
+            ]
+            LiteralExpr [NULL]
+          ]
+        ]
+      Let Variable [ Name=$d ]
+        :=
+        FunctionCall asterix.sql-stddev@1[
+          OrderedListConstructor [
+            FunctionCall test.double@1[
+              LiteralExpr [STRING] [1]
+            ]
+            FunctionCall test.double@1[
+              LiteralExpr [STRING] [2]
+            ]
+            FunctionCall test.double@1[
+              LiteralExpr [STRING] [3]
+            ]
+            LiteralExpr [NULL]
+          ]
+        ]
+      SELECT ELEMENT [
+      Variable [ Name=$i ]
       ]
-      FunctionCall test.int8@1[
-        LiteralExpr [STRING] [2]
+      FROM [        OrderedListConstructor [
+          Variable [ Name=$i8 ]
+          Variable [ Name=$i16 ]
+          Variable [ Name=$i32 ]
+          Variable [ Name=$i64 ]
+          Variable [ Name=$f ]
+          Variable [ Name=$d ]
+        ]
+        AS Variable [ Name=$i ]
       ]
-      FunctionCall test.int8@1[
-        LiteralExpr [STRING] [3]
+    )
+  )
+  (
+    LiteralExpr [STRING] [stddev_pop]
+    :
+    (
+      Let Variable [ Name=$i8 ]
+        :=
+        FunctionCall asterix.sql-stddev_pop@1[
+          OrderedListConstructor [
+            FunctionCall test.int8@1[
+              LiteralExpr [STRING] [1]
+            ]
+            FunctionCall test.int8@1[
+              LiteralExpr [STRING] [2]
+            ]
+            FunctionCall test.int8@1[
+              LiteralExpr [STRING] [3]
+            ]
+            LiteralExpr [NULL]
+          ]
+        ]
+      Let Variable [ Name=$i16 ]
+        :=
+        FunctionCall asterix.sql-stddev_pop@1[
+          OrderedListConstructor [
+            FunctionCall test.int16@1[
+              LiteralExpr [STRING] [1]
+            ]
+            FunctionCall test.int16@1[
+              LiteralExpr [STRING] [2]
+            ]
+            FunctionCall test.int16@1[
+              LiteralExpr [STRING] [3]
+            ]
+            LiteralExpr [NULL]
+          ]
+        ]
+      Let Variable [ Name=$i32 ]
+        :=
+        FunctionCall asterix.sql-stddev_pop@1[
+          OrderedListConstructor [
+            FunctionCall test.int32@1[
+              LiteralExpr [STRING] [1]
+            ]
+            FunctionCall test.int32@1[
+              LiteralExpr [STRING] [2]
+            ]
+            FunctionCall test.int32@1[
+              LiteralExpr [STRING] [3]
+            ]
+            LiteralExpr [NULL]
+          ]
+        ]
+      Let Variable [ Name=$i64 ]
+        :=
+        FunctionCall asterix.sql-stddev_pop@1[
+          OrderedListConstructor [
+            FunctionCall test.int64@1[
+              LiteralExpr [STRING] [1]
+            ]
+            FunctionCall test.int64@1[
+              LiteralExpr [STRING] [2]
+            ]
+            FunctionCall test.int64@1[
+              LiteralExpr [STRING] [3]
+            ]
+            LiteralExpr [NULL]
+          ]
+        ]
+      Let Variable [ Name=$f ]
+        :=
+        FunctionCall asterix.sql-stddev_pop@1[
+          OrderedListConstructor [
+            FunctionCall test.float@1[
+              LiteralExpr [STRING] [1]
+            ]
+            FunctionCall test.float@1[
+              LiteralExpr [STRING] [2]
+            ]
+            FunctionCall test.float@1[
+              LiteralExpr [STRING] [3]
+            ]
+            LiteralExpr [NULL]
+          ]
+        ]
+      Let Variable [ Name=$d ]
+        :=
+        FunctionCall asterix.sql-stddev_pop@1[
+          OrderedListConstructor [
+            FunctionCall test.double@1[
+              LiteralExpr [STRING] [1]
+            ]
+            FunctionCall test.double@1[
+              LiteralExpr [STRING] [2]
+            ]
+            FunctionCall test.double@1[
+              LiteralExpr [STRING] [3]
+            ]
+            LiteralExpr [NULL]
+          ]
+        ]
+      SELECT ELEMENT [
+      Variable [ Name=$i ]
       ]
-      LiteralExpr [NULL]
-    ]
-  ]
-Let Variable [ Name=$i16 ]
-  :=
-  FunctionCall asterix.sql-stddev@1[
-    OrderedListConstructor [
-      FunctionCall test.int16@1[
-        LiteralExpr [STRING] [1]
+      FROM [        OrderedListConstructor [
+          Variable [ Name=$i8 ]
+          Variable [ Name=$i16 ]
+          Variable [ Name=$i32 ]
+          Variable [ Name=$i64 ]
+          Variable [ Name=$f ]
+          Variable [ Name=$d ]
+        ]
+        AS Variable [ Name=$i ]
       ]
-      FunctionCall test.int16@1[
-        LiteralExpr [STRING] [2]
-      ]
-      FunctionCall test.int16@1[
-        LiteralExpr [STRING] [3]
-      ]
-      LiteralExpr [NULL]
-    ]
-  ]
-Let Variable [ Name=$i32 ]
-  :=
-  FunctionCall asterix.sql-stddev@1[
-    OrderedListConstructor [
-      FunctionCall test.int32@1[
-        LiteralExpr [STRING] [1]
-      ]
-      FunctionCall test.int32@1[
-        LiteralExpr [STRING] [2]
-      ]
-      FunctionCall test.int32@1[
-        LiteralExpr [STRING] [3]
-      ]
-      LiteralExpr [NULL]
-    ]
-  ]
-Let Variable [ Name=$i64 ]
-  :=
-  FunctionCall asterix.sql-stddev@1[
-    OrderedListConstructor [
-      FunctionCall test.int64@1[
-        LiteralExpr [STRING] [1]
-      ]
-      FunctionCall test.int64@1[
-        LiteralExpr [STRING] [2]
-      ]
-      FunctionCall test.int64@1[
-        LiteralExpr [STRING] [3]
-      ]
-      LiteralExpr [NULL]
-    ]
-  ]
-Let Variable [ Name=$f ]
-  :=
-  FunctionCall asterix.sql-stddev@1[
-    OrderedListConstructor [
-      FunctionCall test.float@1[
-        LiteralExpr [STRING] [1]
-      ]
-      FunctionCall test.float@1[
-        LiteralExpr [STRING] [2]
-      ]
-      FunctionCall test.float@1[
-        LiteralExpr [STRING] [3]
-      ]
-      LiteralExpr [NULL]
-    ]
-  ]
-Let Variable [ Name=$d ]
-  :=
-  FunctionCall asterix.sql-stddev@1[
-    OrderedListConstructor [
-      FunctionCall test.double@1[
-        LiteralExpr [STRING] [1]
-      ]
-      FunctionCall test.double@1[
-        LiteralExpr [STRING] [2]
-      ]
-      FunctionCall test.double@1[
-        LiteralExpr [STRING] [3]
-      ]
-      LiteralExpr [NULL]
-    ]
-  ]
-SELECT ELEMENT [
-Variable [ Name=$i ]
-]
-FROM [  OrderedListConstructor [
-    Variable [ Name=$i8 ]
-    Variable [ Name=$i16 ]
-    Variable [ Name=$i32 ]
-    Variable [ Name=$i64 ]
-    Variable [ Name=$f ]
-    Variable [ Name=$d ]
-  ]
-  AS Variable [ Name=$i ]
+    )
+  )
 ]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/serial_stddev_double/serial_stddev_double.3.ast b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/serial_stddev_double/serial_stddev_double.3.ast
index 3bd59ff..d9e097b 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/serial_stddev_double/serial_stddev_double.3.ast
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/serial_stddev_double/serial_stddev_double.3.ast
@@ -20,6 +20,23 @@
   )
 ]
 stddev
+FunctionCall asterix.sql-stddev_pop@1[
+  (
+    SELECT ELEMENT [
+    FieldAccessor [
+      FieldAccessor [
+        Variable [ Name=#3 ]
+        Field=t
+      ]
+      Field=val
+    ]
+    ]
+    FROM [      Variable [ Name=#1 ]
+      AS Variable [ Name=#3 ]
+    ]
+  )
+]
+stddev_pop
 ]
 FROM [  FunctionCall asterix.dataset@1[
     LiteralExpr [STRING] [test.Test]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/serial_stddev_double_null/serial_stddev_double_null.3.ast b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/serial_stddev_double_null/serial_stddev_double_null.3.ast
index 8dae584..923fc41 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/serial_stddev_double_null/serial_stddev_double_null.3.ast
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/serial_stddev_double_null/serial_stddev_double_null.3.ast
@@ -20,6 +20,23 @@
   )
 ]
 stddev
+FunctionCall asterix.sql-stddev_pop@1[
+  (
+    SELECT ELEMENT [
+    FieldAccessor [
+      FieldAccessor [
+        Variable [ Name=#3 ]
+        Field=t
+      ]
+      Field=valplus
+    ]
+    ]
+    FROM [      Variable [ Name=#1 ]
+      AS Variable [ Name=#3 ]
+    ]
+  )
+]
+stddev_pop
 ]
 FROM [  FunctionCall asterix.dataset@1[
     LiteralExpr [STRING] [test.Test]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/serial_stddev_empty/serial_stddev_empty.3.ast b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/serial_stddev_empty/serial_stddev_empty.3.ast
index 3bd59ff..d9e097b 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/serial_stddev_empty/serial_stddev_empty.3.ast
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/serial_stddev_empty/serial_stddev_empty.3.ast
@@ -20,6 +20,23 @@
   )
 ]
 stddev
+FunctionCall asterix.sql-stddev_pop@1[
+  (
+    SELECT ELEMENT [
+    FieldAccessor [
+      FieldAccessor [
+        Variable [ Name=#3 ]
+        Field=t
+      ]
+      Field=val
+    ]
+    ]
+    FROM [      Variable [ Name=#1 ]
+      AS Variable [ Name=#3 ]
+    ]
+  )
+]
+stddev_pop
 ]
 FROM [  FunctionCall asterix.dataset@1[
     LiteralExpr [STRING] [test.Test]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/serial_stddev_float/serial_stddev_float.3.ast b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/serial_stddev_float/serial_stddev_float.3.ast
index 3bd59ff..d9e097b 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/serial_stddev_float/serial_stddev_float.3.ast
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/serial_stddev_float/serial_stddev_float.3.ast
@@ -20,6 +20,23 @@
   )
 ]
 stddev
+FunctionCall asterix.sql-stddev_pop@1[
+  (
+    SELECT ELEMENT [
+    FieldAccessor [
+      FieldAccessor [
+        Variable [ Name=#3 ]
+        Field=t
+      ]
+      Field=val
+    ]
+    ]
+    FROM [      Variable [ Name=#1 ]
+      AS Variable [ Name=#3 ]
+    ]
+  )
+]
+stddev_pop
 ]
 FROM [  FunctionCall asterix.dataset@1[
     LiteralExpr [STRING] [test.Test]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/serial_stddev_float_null/serial_stddev_float_null.3.ast b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/serial_stddev_float_null/serial_stddev_float_null.3.ast
index 8dae584..923fc41 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/serial_stddev_float_null/serial_stddev_float_null.3.ast
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/serial_stddev_float_null/serial_stddev_float_null.3.ast
@@ -20,6 +20,23 @@
   )
 ]
 stddev
+FunctionCall asterix.sql-stddev_pop@1[
+  (
+    SELECT ELEMENT [
+    FieldAccessor [
+      FieldAccessor [
+        Variable [ Name=#3 ]
+        Field=t
+      ]
+      Field=valplus
+    ]
+    ]
+    FROM [      Variable [ Name=#1 ]
+      AS Variable [ Name=#3 ]
+    ]
+  )
+]
+stddev_pop
 ]
 FROM [  FunctionCall asterix.dataset@1[
     LiteralExpr [STRING] [test.Test]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/serial_stddev_int16/serial_stddev_int16.3.ast b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/serial_stddev_int16/serial_stddev_int16.3.ast
index 3bd59ff..d9e097b 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/serial_stddev_int16/serial_stddev_int16.3.ast
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/serial_stddev_int16/serial_stddev_int16.3.ast
@@ -20,6 +20,23 @@
   )
 ]
 stddev
+FunctionCall asterix.sql-stddev_pop@1[
+  (
+    SELECT ELEMENT [
+    FieldAccessor [
+      FieldAccessor [
+        Variable [ Name=#3 ]
+        Field=t
+      ]
+      Field=val
+    ]
+    ]
+    FROM [      Variable [ Name=#1 ]
+      AS Variable [ Name=#3 ]
+    ]
+  )
+]
+stddev_pop
 ]
 FROM [  FunctionCall asterix.dataset@1[
     LiteralExpr [STRING] [test.Test]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/serial_stddev_int16_null/serial_stddev_int16_null.3.ast b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/serial_stddev_int16_null/serial_stddev_int16_null.3.ast
index 8dae584..923fc41 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/serial_stddev_int16_null/serial_stddev_int16_null.3.ast
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/serial_stddev_int16_null/serial_stddev_int16_null.3.ast
@@ -20,6 +20,23 @@
   )
 ]
 stddev
+FunctionCall asterix.sql-stddev_pop@1[
+  (
+    SELECT ELEMENT [
+    FieldAccessor [
+      FieldAccessor [
+        Variable [ Name=#3 ]
+        Field=t
+      ]
+      Field=valplus
+    ]
+    ]
+    FROM [      Variable [ Name=#1 ]
+      AS Variable [ Name=#3 ]
+    ]
+  )
+]
+stddev_pop
 ]
 FROM [  FunctionCall asterix.dataset@1[
     LiteralExpr [STRING] [test.Test]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/serial_stddev_int32/serial_stddev_int32.3.ast b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/serial_stddev_int32/serial_stddev_int32.3.ast
index 3bd59ff..d9e097b 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/serial_stddev_int32/serial_stddev_int32.3.ast
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/serial_stddev_int32/serial_stddev_int32.3.ast
@@ -20,6 +20,23 @@
   )
 ]
 stddev
+FunctionCall asterix.sql-stddev_pop@1[
+  (
+    SELECT ELEMENT [
+    FieldAccessor [
+      FieldAccessor [
+        Variable [ Name=#3 ]
+        Field=t
+      ]
+      Field=val
+    ]
+    ]
+    FROM [      Variable [ Name=#1 ]
+      AS Variable [ Name=#3 ]
+    ]
+  )
+]
+stddev_pop
 ]
 FROM [  FunctionCall asterix.dataset@1[
     LiteralExpr [STRING] [test.Test]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/serial_stddev_int32_null/serial_stddev_int32_null.3.ast b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/serial_stddev_int32_null/serial_stddev_int32_null.3.ast
index 8dae584..923fc41 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/serial_stddev_int32_null/serial_stddev_int32_null.3.ast
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/serial_stddev_int32_null/serial_stddev_int32_null.3.ast
@@ -20,6 +20,23 @@
   )
 ]
 stddev
+FunctionCall asterix.sql-stddev_pop@1[
+  (
+    SELECT ELEMENT [
+    FieldAccessor [
+      FieldAccessor [
+        Variable [ Name=#3 ]
+        Field=t
+      ]
+      Field=valplus
+    ]
+    ]
+    FROM [      Variable [ Name=#1 ]
+      AS Variable [ Name=#3 ]
+    ]
+  )
+]
+stddev_pop
 ]
 FROM [  FunctionCall asterix.dataset@1[
     LiteralExpr [STRING] [test.Test]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/serial_stddev_int64/serial_stddev_int64.3.ast b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/serial_stddev_int64/serial_stddev_int64.3.ast
index 3bd59ff..d9e097b 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/serial_stddev_int64/serial_stddev_int64.3.ast
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/serial_stddev_int64/serial_stddev_int64.3.ast
@@ -20,6 +20,23 @@
   )
 ]
 stddev
+FunctionCall asterix.sql-stddev_pop@1[
+  (
+    SELECT ELEMENT [
+    FieldAccessor [
+      FieldAccessor [
+        Variable [ Name=#3 ]
+        Field=t
+      ]
+      Field=val
+    ]
+    ]
+    FROM [      Variable [ Name=#1 ]
+      AS Variable [ Name=#3 ]
+    ]
+  )
+]
+stddev_pop
 ]
 FROM [  FunctionCall asterix.dataset@1[
     LiteralExpr [STRING] [test.Test]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/serial_stddev_int64_null/serial_stddev_int64_null.3.ast b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/serial_stddev_int64_null/serial_stddev_int64_null.3.ast
index 8dae584..923fc41 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/serial_stddev_int64_null/serial_stddev_int64_null.3.ast
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/serial_stddev_int64_null/serial_stddev_int64_null.3.ast
@@ -20,6 +20,23 @@
   )
 ]
 stddev
+FunctionCall asterix.sql-stddev_pop@1[
+  (
+    SELECT ELEMENT [
+    FieldAccessor [
+      FieldAccessor [
+        Variable [ Name=#3 ]
+        Field=t
+      ]
+      Field=valplus
+    ]
+    ]
+    FROM [      Variable [ Name=#1 ]
+      AS Variable [ Name=#3 ]
+    ]
+  )
+]
+stddev_pop
 ]
 FROM [  FunctionCall asterix.dataset@1[
     LiteralExpr [STRING] [test.Test]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/serial_stddev_int8/serial_stddev_int8.3.ast b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/serial_stddev_int8/serial_stddev_int8.3.ast
index 3bd59ff..d9e097b 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/serial_stddev_int8/serial_stddev_int8.3.ast
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/serial_stddev_int8/serial_stddev_int8.3.ast
@@ -20,6 +20,23 @@
   )
 ]
 stddev
+FunctionCall asterix.sql-stddev_pop@1[
+  (
+    SELECT ELEMENT [
+    FieldAccessor [
+      FieldAccessor [
+        Variable [ Name=#3 ]
+        Field=t
+      ]
+      Field=val
+    ]
+    ]
+    FROM [      Variable [ Name=#1 ]
+      AS Variable [ Name=#3 ]
+    ]
+  )
+]
+stddev_pop
 ]
 FROM [  FunctionCall asterix.dataset@1[
     LiteralExpr [STRING] [test.Test]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/serial_stddev_int8_null/serial_stddev_int8_null.3.ast b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/serial_stddev_int8_null/serial_stddev_int8_null.3.ast
index 8dae584..923fc41 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/serial_stddev_int8_null/serial_stddev_int8_null.3.ast
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/serial_stddev_int8_null/serial_stddev_int8_null.3.ast
@@ -20,6 +20,23 @@
   )
 ]
 stddev
+FunctionCall asterix.sql-stddev_pop@1[
+  (
+    SELECT ELEMENT [
+    FieldAccessor [
+      FieldAccessor [
+        Variable [ Name=#3 ]
+        Field=t
+      ]
+      Field=valplus
+    ]
+    ]
+    FROM [      Variable [ Name=#1 ]
+      AS Variable [ Name=#3 ]
+    ]
+  )
+]
+stddev_pop
 ]
 FROM [  FunctionCall asterix.dataset@1[
     LiteralExpr [STRING] [test.Test]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/serial_stddev_pop_mixed/serial_stddev_pop_int64_null.1.ast b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/serial_stddev_pop_mixed/serial_stddev_pop_int64_null.1.ast
new file mode 100644
index 0000000..a61c9df
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/serial_stddev_pop_mixed/serial_stddev_pop_int64_null.1.ast
@@ -0,0 +1,9 @@
+DataverseUse test
+TypeDecl TestType [
+  open RecordType {
+    id : bigint,
+    gid : bigint,
+    val : double
+  }
+]
+DatasetDecl Test(TestType) partitioned by [[id]]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/serial_stddev_pop_mixed/serial_stddev_pop_int64_null.2.ast b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/serial_stddev_pop_mixed/serial_stddev_pop_int64_null.2.ast
new file mode 100644
index 0000000..916a59e
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/serial_stddev_pop_mixed/serial_stddev_pop_int64_null.2.ast
@@ -0,0 +1 @@
+DataverseUse test
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/serial_stddev_pop_mixed/serial_stddev_pop_int64_null.3.ast b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/serial_stddev_pop_mixed/serial_stddev_pop_int64_null.3.ast
new file mode 100644
index 0000000..2e6d6ae
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/serial_stddev_pop_mixed/serial_stddev_pop_int64_null.3.ast
@@ -0,0 +1,40 @@
+DataverseUse test
+Query:
+SELECT [
+Variable [ Name=$gid ]
+gid
+FunctionCall asterix.sql-stddev_pop@1[
+  (
+    SELECT ELEMENT [
+    FieldAccessor [
+      Variable [ Name=$g ]
+      Field=valplus
+    ]
+    ]
+    FROM [      Variable [ Name=$g ]
+      AS Variable [ Name=$g ]
+    ]
+  )
+]
+stddev_pop
+]
+FROM [  FunctionCall asterix.dataset@1[
+    LiteralExpr [STRING] [test.Test]
+  ]
+  AS Variable [ Name=$t ]
+]
+Groupby
+  Variable [ Name=$gid ]
+  :=
+  FieldAccessor [
+    Variable [ Name=$t ]
+    Field=gid
+  ]
+  GROUP AS Variable [ Name=$g ]
+  (
+    valplus:=FunctionCall asterix.field-access-by-name@2[
+  Variable [ Name=$t ]
+  LiteralExpr [STRING] [valplus]
+]
+  )
+
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/stddev_double/stddev_double.3.ast b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/stddev_double/stddev_double.3.ast
index c0e7dac..a156d16 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/stddev_double/stddev_double.3.ast
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/stddev_double/stddev_double.3.ast
@@ -1,19 +1,51 @@
 Query:
-SELECT ELEMENT [
-FunctionCall asterix.sql-stddev@1[
+RecordConstructor [
   (
-    SELECT ELEMENT [
-    Variable [ Name=$x ]
-    ]
-    FROM [      OrderedListConstructor [
-        LiteralExpr [DOUBLE] [1.0]
-        LiteralExpr [DOUBLE] [2.0]
-        FunctionCall null.double@1[
-          LiteralExpr [STRING] [3.0]
-        ]
+    LiteralExpr [STRING] [stddev]
+    :
+    (
+      SELECT ELEMENT [
+      FunctionCall asterix.sql-stddev@1[
+        (
+          SELECT ELEMENT [
+          Variable [ Name=$x ]
+          ]
+          FROM [            OrderedListConstructor [
+              LiteralExpr [DOUBLE] [1.0]
+              LiteralExpr [DOUBLE] [2.0]
+              FunctionCall null.double@1[
+                LiteralExpr [STRING] [3.0]
+              ]
+            ]
+            AS Variable [ Name=$x ]
+          ]
+        )
       ]
-      AS Variable [ Name=$x ]
-    ]
+      ]
+    )
   )
-]
+  (
+    LiteralExpr [STRING] [stddev_pop]
+    :
+    (
+      SELECT ELEMENT [
+      FunctionCall asterix.sql-stddev_pop@1[
+        (
+          SELECT ELEMENT [
+          Variable [ Name=$x ]
+          ]
+          FROM [            OrderedListConstructor [
+              LiteralExpr [DOUBLE] [1.0]
+              LiteralExpr [DOUBLE] [2.0]
+              FunctionCall null.double@1[
+                LiteralExpr [STRING] [3.0]
+              ]
+            ]
+            AS Variable [ Name=$x ]
+          ]
+        )
+      ]
+      ]
+    )
+  )
 ]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/stddev_double_null/stddev_double_null.3.ast b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/stddev_double_null/stddev_double_null.3.ast
index e01f5cc..02ccab8 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/stddev_double_null/stddev_double_null.3.ast
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/stddev_double_null/stddev_double_null.3.ast
@@ -20,4 +20,23 @@
       )
     ]
   )
+  (
+    LiteralExpr [STRING] [stddev_pop]
+    :
+    FunctionCall asterix.sql-stddev_pop@1[
+      (
+        SELECT ELEMENT [
+        FieldAccessor [
+          Variable [ Name=$x ]
+          Field=doubleField
+        ]
+        ]
+        FROM [          FunctionCall asterix.dataset@1[
+            LiteralExpr [STRING] [test.Numeric]
+          ]
+          AS Variable [ Name=$x ]
+        ]
+      )
+    ]
+  )
 ]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/stddev_empty_01/stddev_empty_01.3.ast b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/stddev_empty_01/stddev_empty_01.3.ast
index f85f450..51a67dc 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/stddev_empty_01/stddev_empty_01.3.ast
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/stddev_empty_01/stddev_empty_01.3.ast
@@ -1,24 +1,60 @@
 DataverseUse test
 Query:
-SELECT ELEMENT [
-FunctionCall asterix.sql-stddev@1[
+RecordConstructor [
   (
-    SELECT ELEMENT [
-    Variable [ Name=$x ]
-    ]
-    FROM [      OrderedListConstructor [
-        LiteralExpr [LONG] [1]
-        LiteralExpr [LONG] [2]
-        LiteralExpr [LONG] [3]
+    LiteralExpr [STRING] [stddev]
+    :
+    (
+      SELECT ELEMENT [
+      FunctionCall asterix.sql-stddev@1[
+        (
+          SELECT ELEMENT [
+          Variable [ Name=$x ]
+          ]
+          FROM [            OrderedListConstructor [
+              LiteralExpr [LONG] [1]
+              LiteralExpr [LONG] [2]
+              LiteralExpr [LONG] [3]
+            ]
+            AS Variable [ Name=$x ]
+          ]
+          Where
+            OperatorExpr [
+              Variable [ Name=$x ]
+              >
+              LiteralExpr [LONG] [10]
+            ]
+        )
       ]
-      AS Variable [ Name=$x ]
-    ]
-    Where
-      OperatorExpr [
-        Variable [ Name=$x ]
-        >
-        LiteralExpr [LONG] [10]
       ]
+    )
   )
-]
+  (
+    LiteralExpr [STRING] [stddev_pop]
+    :
+    (
+      SELECT ELEMENT [
+      FunctionCall asterix.sql-stddev_pop@1[
+        (
+          SELECT ELEMENT [
+          Variable [ Name=$x ]
+          ]
+          FROM [            OrderedListConstructor [
+              LiteralExpr [LONG] [1]
+              LiteralExpr [LONG] [2]
+              LiteralExpr [LONG] [3]
+            ]
+            AS Variable [ Name=$x ]
+          ]
+          Where
+            OperatorExpr [
+              Variable [ Name=$x ]
+              >
+              LiteralExpr [LONG] [10]
+            ]
+        )
+      ]
+      ]
+    )
+  )
 ]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/stddev_empty_02/stddev_empty_02.3.ast b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/stddev_empty_02/stddev_empty_02.3.ast
index 1e74018..1fcdc77 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/stddev_empty_02/stddev_empty_02.3.ast
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/stddev_empty_02/stddev_empty_02.3.ast
@@ -1,19 +1,50 @@
 DataverseUse test
 Query:
-SELECT ELEMENT [
-FunctionCall asterix.sql-stddev@1[
+RecordConstructor [
   (
-    SELECT ELEMENT [
-    FieldAccessor [
-      Variable [ Name=$x ]
-      Field=val
-    ]
-    ]
-    FROM [      FunctionCall asterix.dataset@1[
-        LiteralExpr [STRING] [test.Test]
+    LiteralExpr [STRING] [stddev]
+    :
+    (
+      SELECT ELEMENT [
+      FunctionCall asterix.sql-stddev@1[
+        (
+          SELECT ELEMENT [
+          FieldAccessor [
+            Variable [ Name=$x ]
+            Field=val
+          ]
+          ]
+          FROM [            FunctionCall asterix.dataset@1[
+              LiteralExpr [STRING] [test.Test]
+            ]
+            AS Variable [ Name=$x ]
+          ]
+        )
       ]
-      AS Variable [ Name=$x ]
-    ]
+      ]
+    )
   )
-]
+  (
+    LiteralExpr [STRING] [stddev_pop]
+    :
+    (
+      SELECT ELEMENT [
+      FunctionCall asterix.sql-stddev_pop@1[
+        (
+          SELECT ELEMENT [
+          FieldAccessor [
+            Variable [ Name=$x ]
+            Field=val
+          ]
+          ]
+          FROM [            FunctionCall asterix.dataset@1[
+              LiteralExpr [STRING] [test.Test]
+            ]
+            AS Variable [ Name=$x ]
+          ]
+        )
+      ]
+      ]
+    )
+  )
 ]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/stddev_float/stddev_float.3.ast b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/stddev_float/stddev_float.3.ast
index 139a799..3b9af93 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/stddev_float/stddev_float.3.ast
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/stddev_float/stddev_float.3.ast
@@ -1,24 +1,60 @@
 DataverseUse test
 Query:
-SELECT ELEMENT [
-FunctionCall asterix.sql-stddev@1[
+RecordConstructor [
   (
-    SELECT ELEMENT [
-    Variable [ Name=$x ]
-    ]
-    FROM [      OrderedListConstructor [
-        FunctionCall test.float@1[
-          LiteralExpr [STRING] [1]
-        ]
-        FunctionCall test.float@1[
-          LiteralExpr [STRING] [2]
-        ]
-        FunctionCall test.float@1[
-          LiteralExpr [STRING] [3]
-        ]
+    LiteralExpr [STRING] [stddev]
+    :
+    (
+      SELECT ELEMENT [
+      FunctionCall asterix.sql-stddev@1[
+        (
+          SELECT ELEMENT [
+          Variable [ Name=$x ]
+          ]
+          FROM [            OrderedListConstructor [
+              FunctionCall test.float@1[
+                LiteralExpr [STRING] [1]
+              ]
+              FunctionCall test.float@1[
+                LiteralExpr [STRING] [2]
+              ]
+              FunctionCall test.float@1[
+                LiteralExpr [STRING] [3]
+              ]
+            ]
+            AS Variable [ Name=$x ]
+          ]
+        )
       ]
-      AS Variable [ Name=$x ]
-    ]
+      ]
+    )
   )
-]
+  (
+    LiteralExpr [STRING] [stddev_pop]
+    :
+    (
+      SELECT ELEMENT [
+      FunctionCall asterix.sql-stddev_pop@1[
+        (
+          SELECT ELEMENT [
+          Variable [ Name=$x ]
+          ]
+          FROM [            OrderedListConstructor [
+              FunctionCall test.float@1[
+                LiteralExpr [STRING] [1]
+              ]
+              FunctionCall test.float@1[
+                LiteralExpr [STRING] [2]
+              ]
+              FunctionCall test.float@1[
+                LiteralExpr [STRING] [3]
+              ]
+            ]
+            AS Variable [ Name=$x ]
+          ]
+        )
+      ]
+      ]
+    )
+  )
 ]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/stddev_float_null/stddev_float_nu.3.ast b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/stddev_float_null/stddev_float_nu.3.ast
index 2fd1ef4..af4b678 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/stddev_float_null/stddev_float_nu.3.ast
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/stddev_float_null/stddev_float_nu.3.ast
@@ -20,4 +20,23 @@
       )
     ]
   )
+  (
+    LiteralExpr [STRING] [stddev_pop]
+    :
+    FunctionCall asterix.sql-stddev_pop@1[
+      (
+        SELECT ELEMENT [
+        FieldAccessor [
+          Variable [ Name=$x ]
+          Field=floatField
+        ]
+        ]
+        FROM [          FunctionCall asterix.dataset@1[
+            LiteralExpr [STRING] [test.Numeric]
+          ]
+          AS Variable [ Name=$x ]
+        ]
+      )
+    ]
+  )
 ]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/stddev_int16/stddev_int16.3.ast b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/stddev_int16/stddev_int16.3.ast
index e1d4be2..a3ae382 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/stddev_int16/stddev_int16.3.ast
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/stddev_int16/stddev_int16.3.ast
@@ -1,24 +1,60 @@
 DataverseUse test
 Query:
-SELECT ELEMENT [
-FunctionCall asterix.sql-stddev@1[
+RecordConstructor [
   (
-    SELECT ELEMENT [
-    Variable [ Name=$x ]
-    ]
-    FROM [      OrderedListConstructor [
-        FunctionCall test.int16@1[
-          LiteralExpr [STRING] [1]
-        ]
-        FunctionCall test.int16@1[
-          LiteralExpr [STRING] [2]
-        ]
-        FunctionCall test.int16@1[
-          LiteralExpr [STRING] [3]
-        ]
+    LiteralExpr [STRING] [stddev]
+    :
+    (
+      SELECT ELEMENT [
+      FunctionCall asterix.sql-stddev@1[
+        (
+          SELECT ELEMENT [
+          Variable [ Name=$x ]
+          ]
+          FROM [            OrderedListConstructor [
+              FunctionCall test.int16@1[
+                LiteralExpr [STRING] [1]
+              ]
+              FunctionCall test.int16@1[
+                LiteralExpr [STRING] [2]
+              ]
+              FunctionCall test.int16@1[
+                LiteralExpr [STRING] [3]
+              ]
+            ]
+            AS Variable [ Name=$x ]
+          ]
+        )
       ]
-      AS Variable [ Name=$x ]
-    ]
+      ]
+    )
   )
-]
+  (
+    LiteralExpr [STRING] [stddev_pop]
+    :
+    (
+      SELECT ELEMENT [
+      FunctionCall asterix.sql-stddev_pop@1[
+        (
+          SELECT ELEMENT [
+          Variable [ Name=$x ]
+          ]
+          FROM [            OrderedListConstructor [
+              FunctionCall test.int16@1[
+                LiteralExpr [STRING] [1]
+              ]
+              FunctionCall test.int16@1[
+                LiteralExpr [STRING] [2]
+              ]
+              FunctionCall test.int16@1[
+                LiteralExpr [STRING] [3]
+              ]
+            ]
+            AS Variable [ Name=$x ]
+          ]
+        )
+      ]
+      ]
+    )
+  )
 ]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/stddev_int16_null/stddev_int16_null.3.ast b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/stddev_int16_null/stddev_int16_null.3.ast
index ee1fdc7..abfdf357 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/stddev_int16_null/stddev_int16_null.3.ast
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/stddev_int16_null/stddev_int16_null.3.ast
@@ -20,4 +20,23 @@
       )
     ]
   )
+  (
+    LiteralExpr [STRING] [stddev_pop]
+    :
+    FunctionCall asterix.sql-stddev_pop@1[
+      (
+        SELECT ELEMENT [
+        FieldAccessor [
+          Variable [ Name=$x ]
+          Field=int16Field
+        ]
+        ]
+        FROM [          FunctionCall asterix.dataset@1[
+            LiteralExpr [STRING] [test.Numeric]
+          ]
+          AS Variable [ Name=$x ]
+        ]
+      )
+    ]
+  )
 ]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/stddev_int32/stddev_int32.3.ast b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/stddev_int32/stddev_int32.3.ast
index d40a004..475d383 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/stddev_int32/stddev_int32.3.ast
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/stddev_int32/stddev_int32.3.ast
@@ -1,24 +1,60 @@
 DataverseUse test
 Query:
-SELECT ELEMENT [
-FunctionCall asterix.sql-stddev@1[
+RecordConstructor [
   (
-    SELECT ELEMENT [
-    Variable [ Name=$x ]
-    ]
-    FROM [      OrderedListConstructor [
-        FunctionCall test.int32@1[
-          LiteralExpr [STRING] [1]
-        ]
-        FunctionCall test.int32@1[
-          LiteralExpr [STRING] [2]
-        ]
-        FunctionCall test.int32@1[
-          LiteralExpr [STRING] [3]
-        ]
+    LiteralExpr [STRING] [stddev]
+    :
+    (
+      SELECT ELEMENT [
+      FunctionCall asterix.sql-stddev@1[
+        (
+          SELECT ELEMENT [
+          Variable [ Name=$x ]
+          ]
+          FROM [            OrderedListConstructor [
+              FunctionCall test.int32@1[
+                LiteralExpr [STRING] [1]
+              ]
+              FunctionCall test.int32@1[
+                LiteralExpr [STRING] [2]
+              ]
+              FunctionCall test.int32@1[
+                LiteralExpr [STRING] [3]
+              ]
+            ]
+            AS Variable [ Name=$x ]
+          ]
+        )
       ]
-      AS Variable [ Name=$x ]
-    ]
+      ]
+    )
   )
-]
+  (
+    LiteralExpr [STRING] [stddev_pop]
+    :
+    (
+      SELECT ELEMENT [
+      FunctionCall asterix.sql-stddev_pop@1[
+        (
+          SELECT ELEMENT [
+          Variable [ Name=$x ]
+          ]
+          FROM [            OrderedListConstructor [
+              FunctionCall test.int32@1[
+                LiteralExpr [STRING] [1]
+              ]
+              FunctionCall test.int32@1[
+                LiteralExpr [STRING] [2]
+              ]
+              FunctionCall test.int32@1[
+                LiteralExpr [STRING] [3]
+              ]
+            ]
+            AS Variable [ Name=$x ]
+          ]
+        )
+      ]
+      ]
+    )
+  )
 ]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/stddev_int32_null/stddev_int32_null.3.ast b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/stddev_int32_null/stddev_int32_null.3.ast
index 55da89c..ae92087 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/stddev_int32_null/stddev_int32_null.3.ast
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/stddev_int32_null/stddev_int32_null.3.ast
@@ -20,4 +20,23 @@
       )
     ]
   )
+  (
+    LiteralExpr [STRING] [stddev_pop]
+    :
+    FunctionCall asterix.sql-stddev_pop@1[
+      (
+        SELECT ELEMENT [
+        FieldAccessor [
+          Variable [ Name=$x ]
+          Field=int32Field
+        ]
+        ]
+        FROM [          FunctionCall asterix.dataset@1[
+            LiteralExpr [STRING] [test.Numeric]
+          ]
+          AS Variable [ Name=$x ]
+        ]
+      )
+    ]
+  )
 ]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/stddev_int64/stddev_int64.3.ast b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/stddev_int64/stddev_int64.3.ast
index 0583b7f..aafffb8 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/stddev_int64/stddev_int64.3.ast
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/stddev_int64/stddev_int64.3.ast
@@ -1,24 +1,60 @@
 DataverseUse test
 Query:
-SELECT ELEMENT [
-FunctionCall asterix.sql-stddev@1[
+RecordConstructor [
   (
-    SELECT ELEMENT [
-    Variable [ Name=$x ]
-    ]
-    FROM [      OrderedListConstructor [
-        FunctionCall test.int64@1[
-          LiteralExpr [STRING] [1]
-        ]
-        FunctionCall test.int64@1[
-          LiteralExpr [STRING] [2]
-        ]
-        FunctionCall test.int64@1[
-          LiteralExpr [STRING] [3]
-        ]
+    LiteralExpr [STRING] [stddev]
+    :
+    (
+      SELECT ELEMENT [
+      FunctionCall asterix.sql-stddev@1[
+        (
+          SELECT ELEMENT [
+          Variable [ Name=$x ]
+          ]
+          FROM [            OrderedListConstructor [
+              FunctionCall test.int64@1[
+                LiteralExpr [STRING] [1]
+              ]
+              FunctionCall test.int64@1[
+                LiteralExpr [STRING] [2]
+              ]
+              FunctionCall test.int64@1[
+                LiteralExpr [STRING] [3]
+              ]
+            ]
+            AS Variable [ Name=$x ]
+          ]
+        )
       ]
-      AS Variable [ Name=$x ]
-    ]
+      ]
+    )
   )
-]
+  (
+    LiteralExpr [STRING] [stddev_pop]
+    :
+    (
+      SELECT ELEMENT [
+      FunctionCall asterix.sql-stddev_pop@1[
+        (
+          SELECT ELEMENT [
+          Variable [ Name=$x ]
+          ]
+          FROM [            OrderedListConstructor [
+              FunctionCall test.int64@1[
+                LiteralExpr [STRING] [1]
+              ]
+              FunctionCall test.int64@1[
+                LiteralExpr [STRING] [2]
+              ]
+              FunctionCall test.int64@1[
+                LiteralExpr [STRING] [3]
+              ]
+            ]
+            AS Variable [ Name=$x ]
+          ]
+        )
+      ]
+      ]
+    )
+  )
 ]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/stddev_int64_null/stddev_int64_null.3.ast b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/stddev_int64_null/stddev_int64_null.3.ast
index e8787dd..8726277 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/stddev_int64_null/stddev_int64_null.3.ast
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/stddev_int64_null/stddev_int64_null.3.ast
@@ -20,4 +20,23 @@
       )
     ]
   )
+  (
+    LiteralExpr [STRING] [stddev_pop]
+    :
+    FunctionCall asterix.sql-stddev_pop@1[
+      (
+        SELECT ELEMENT [
+        FieldAccessor [
+          Variable [ Name=$x ]
+          Field=int64Field
+        ]
+        ]
+        FROM [          FunctionCall asterix.dataset@1[
+            LiteralExpr [STRING] [test.Numeric]
+          ]
+          AS Variable [ Name=$x ]
+        ]
+      )
+    ]
+  )
 ]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/stddev_int8/stddev_int8.3.ast b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/stddev_int8/stddev_int8.3.ast
index 2ec6818..21b3171 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/stddev_int8/stddev_int8.3.ast
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/stddev_int8/stddev_int8.3.ast
@@ -1,24 +1,60 @@
 DataverseUse test
 Query:
-SELECT ELEMENT [
-FunctionCall asterix.sql-stddev@1[
+RecordConstructor [
   (
-    SELECT ELEMENT [
-    Variable [ Name=$x ]
-    ]
-    FROM [      OrderedListConstructor [
-        FunctionCall test.int8@1[
-          LiteralExpr [STRING] [1]
-        ]
-        FunctionCall test.int8@1[
-          LiteralExpr [STRING] [2]
-        ]
-        FunctionCall test.int8@1[
-          LiteralExpr [STRING] [3]
-        ]
+    LiteralExpr [STRING] [stddev]
+    :
+    (
+      SELECT ELEMENT [
+      FunctionCall asterix.sql-stddev@1[
+        (
+          SELECT ELEMENT [
+          Variable [ Name=$x ]
+          ]
+          FROM [            OrderedListConstructor [
+              FunctionCall test.int8@1[
+                LiteralExpr [STRING] [1]
+              ]
+              FunctionCall test.int8@1[
+                LiteralExpr [STRING] [2]
+              ]
+              FunctionCall test.int8@1[
+                LiteralExpr [STRING] [3]
+              ]
+            ]
+            AS Variable [ Name=$x ]
+          ]
+        )
       ]
-      AS Variable [ Name=$x ]
-    ]
+      ]
+    )
   )
-]
+  (
+    LiteralExpr [STRING] [stddev_pop]
+    :
+    (
+      SELECT ELEMENT [
+      FunctionCall asterix.sql-stddev_pop@1[
+        (
+          SELECT ELEMENT [
+          Variable [ Name=$x ]
+          ]
+          FROM [            OrderedListConstructor [
+              FunctionCall test.int8@1[
+                LiteralExpr [STRING] [1]
+              ]
+              FunctionCall test.int8@1[
+                LiteralExpr [STRING] [2]
+              ]
+              FunctionCall test.int8@1[
+                LiteralExpr [STRING] [3]
+              ]
+            ]
+            AS Variable [ Name=$x ]
+          ]
+        )
+      ]
+      ]
+    )
+  )
 ]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/stddev_int8_null/stddev_int8_null.3.ast b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/stddev_int8_null/stddev_int8_null.3.ast
index a7c371c..f2c9bef 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/stddev_int8_null/stddev_int8_null.3.ast
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/stddev_int8_null/stddev_int8_null.3.ast
@@ -20,4 +20,23 @@
       )
     ]
   )
+  (
+    LiteralExpr [STRING] [stddev_pop]
+    :
+    FunctionCall asterix.sql-stddev_pop@1[
+      (
+        SELECT ELEMENT [
+        FieldAccessor [
+          Variable [ Name=$x ]
+          Field=int8Field
+        ]
+        ]
+        FROM [          FunctionCall asterix.dataset@1[
+            LiteralExpr [STRING] [test.Numeric]
+          ]
+          AS Variable [ Name=$x ]
+        ]
+      )
+    ]
+  )
 ]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/stddev_pop_mixed/stddev_pop_mixed.3.ast b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/stddev_pop_mixed/stddev_pop_mixed.3.ast
new file mode 100644
index 0000000..7c39453
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate-sql/stddev_pop_mixed/stddev_pop_mixed.3.ast
@@ -0,0 +1,22 @@
+Query:
+SELECT ELEMENT [
+FunctionCall asterix.sql-stddev_pop@1[
+  (
+    SELECT ELEMENT [
+    Variable [ Name=$x ]
+    ]
+    FROM [      OrderedListConstructor [
+        FunctionCall null.float@1[
+          LiteralExpr [STRING] [2.0]
+        ]
+        LiteralExpr [STRING] [hello world]
+        LiteralExpr [LONG] [93847382783847382]
+        FunctionCall null.date@1[
+          LiteralExpr [STRING] [2013-01-01]
+        ]
+      ]
+      AS Variable [ Name=$x ]
+    ]
+  )
+]
+]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/agg_null/agg_null.3.ast b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/agg_null/agg_null.3.ast
index 42aab0a..53b7249 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/agg_null/agg_null.3.ast
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/agg_null/agg_null.3.ast
@@ -55,6 +55,15 @@
     ]
   )
   (
+    LiteralExpr [STRING] [stddev_pop1]
+    :
+    FunctionCall asterix.stddev_pop@1[
+      OrderedListConstructor [
+        LiteralExpr [NULL]
+      ]
+    ]
+  )
+  (
     LiteralExpr [STRING] [count2]
     :
     FunctionCall asterix.count@1[
@@ -114,4 +123,14 @@
       ]
     ]
   )
+  (
+    LiteralExpr [STRING] [stddev_pop2]
+    :
+    FunctionCall asterix.stddev_pop@1[
+      UnorderedListConstructor [
+        LiteralExpr [NULL]
+        LiteralExpr [NULL]
+      ]
+    ]
+  )
 ]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/agg_null_rec/agg_null_rec.3.ast b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/agg_null_rec/agg_null_rec.3.ast
index ea96a9a..d92c399 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/agg_null_rec/agg_null_rec.3.ast
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/agg_null_rec/agg_null_rec.3.ast
@@ -115,4 +115,23 @@
       )
     ]
   )
+  (
+    LiteralExpr [STRING] [stddev_pop]
+    :
+    FunctionCall asterix.stddev_pop@1[
+      (
+        SELECT ELEMENT [
+        FieldAccessor [
+          Variable [ Name=$t ]
+          Field=valplus
+        ]
+        ]
+        FROM [          FunctionCall asterix.dataset@1[
+            LiteralExpr [STRING] [test.Test]
+          ]
+          AS Variable [ Name=$t ]
+        ]
+      )
+    ]
+  )
 ]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/agg_null_rec_1/agg_null_rec_1.3.ast b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/agg_null_rec_1/agg_null_rec_1.3.ast
index 5668cdb..5d11b6e 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/agg_null_rec_1/agg_null_rec_1.3.ast
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/agg_null_rec_1/agg_null_rec_1.3.ast
@@ -147,5 +147,31 @@
       )
     ]
   )
+  (
+    LiteralExpr [STRING] [stddev_pop]
+    :
+    FunctionCall asterix.stddev_pop@1[
+      (
+        SELECT ELEMENT [
+        FieldAccessor [
+          Variable [ Name=$i ]
+          Field=val
+        ]
+        ]
+        FROM [          (
+            SELECT ELEMENT [
+            Variable [ Name=$t ]
+            ]
+            FROM [              FunctionCall asterix.dataset@1[
+                LiteralExpr [STRING] [test.Test]
+              ]
+              AS Variable [ Name=$t ]
+            ]
+          )
+          AS Variable [ Name=$i ]
+        ]
+      )
+    ]
+  )
 ]
 
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/agg_number/agg_number.3.ast b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/agg_number/agg_number.3.ast
index c3f8e5b..59c27d9 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/agg_number/agg_number.3.ast
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/agg_number/agg_number.3.ast
@@ -97,6 +97,22 @@
     ]
   )
   (
+    LiteralExpr [STRING] [stddev_pop1]
+    :
+    FunctionCall asterix.stddev_pop@1[
+      OrderedListConstructor [
+        FunctionCall null.float@1[
+          LiteralExpr [STRING] [2.0]
+        ]
+        FunctionCall null.double@1[
+          LiteralExpr [STRING] [3.0]
+        ]
+        LiteralExpr [LONG] [93847382783847382]
+        LiteralExpr [LONG] [1]
+      ]
+    ]
+  )
+  (
     LiteralExpr [STRING] [count2]
     :
     FunctionCall asterix.count@1[
@@ -192,4 +208,20 @@
       ]
     ]
   )
+  (
+    LiteralExpr [STRING] [stddev_pop2]
+    :
+    FunctionCall asterix.stddev_pop@1[
+      OrderedListConstructor [
+        FunctionCall null.float@1[
+          LiteralExpr [STRING] [2.0]
+        ]
+        FunctionCall null.double@1[
+          LiteralExpr [STRING] [3.0]
+        ]
+        LiteralExpr [LONG] [93847382783847382]
+        LiteralExpr [LONG] [1]
+      ]
+    ]
+  )
 ]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/agg_number_rec/agg_number_rec.3.ast b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/agg_number_rec/agg_number_rec.3.ast
index ea96a9a..d92c399 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/agg_number_rec/agg_number_rec.3.ast
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/agg_number_rec/agg_number_rec.3.ast
@@ -115,4 +115,23 @@
       )
     ]
   )
+  (
+    LiteralExpr [STRING] [stddev_pop]
+    :
+    FunctionCall asterix.stddev_pop@1[
+      (
+        SELECT ELEMENT [
+        FieldAccessor [
+          Variable [ Name=$t ]
+          Field=valplus
+        ]
+        ]
+        FROM [          FunctionCall asterix.dataset@1[
+            LiteralExpr [STRING] [test.Test]
+          ]
+          AS Variable [ Name=$t ]
+        ]
+      )
+    ]
+  )
 ]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/scalar_stddev/scalar_stddev.3.ast b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/scalar_stddev/scalar_stddev.3.ast
index 67d038e..4606161 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/scalar_stddev/scalar_stddev.3.ast
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/scalar_stddev/scalar_stddev.3.ast
@@ -1,105 +1,222 @@
 DataverseUse test
 Query:
-Let Variable [ Name=$i8 ]
-  :=
-  FunctionCall asterix.stddev@1[
-    OrderedListConstructor [
-      FunctionCall test.int8@1[
-        LiteralExpr [STRING] [1]
+RecordConstructor [
+  (
+    LiteralExpr [STRING] [stddev]
+    :
+    (
+      Let Variable [ Name=$i8 ]
+        :=
+        FunctionCall asterix.stddev@1[
+          OrderedListConstructor [
+            FunctionCall test.int8@1[
+              LiteralExpr [STRING] [1]
+            ]
+            FunctionCall test.int8@1[
+              LiteralExpr [STRING] [2]
+            ]
+            FunctionCall test.int8@1[
+              LiteralExpr [STRING] [3]
+            ]
+          ]
+        ]
+      Let Variable [ Name=$i16 ]
+        :=
+        FunctionCall asterix.stddev@1[
+          OrderedListConstructor [
+            FunctionCall test.int16@1[
+              LiteralExpr [STRING] [1]
+            ]
+            FunctionCall test.int16@1[
+              LiteralExpr [STRING] [2]
+            ]
+            FunctionCall test.int16@1[
+              LiteralExpr [STRING] [3]
+            ]
+          ]
+        ]
+      Let Variable [ Name=$i32 ]
+        :=
+        FunctionCall asterix.stddev@1[
+          OrderedListConstructor [
+            FunctionCall test.int32@1[
+              LiteralExpr [STRING] [1]
+            ]
+            FunctionCall test.int32@1[
+              LiteralExpr [STRING] [2]
+            ]
+            FunctionCall test.int32@1[
+              LiteralExpr [STRING] [3]
+            ]
+          ]
+        ]
+      Let Variable [ Name=$i64 ]
+        :=
+        FunctionCall asterix.stddev@1[
+          OrderedListConstructor [
+            FunctionCall test.int64@1[
+              LiteralExpr [STRING] [1]
+            ]
+            FunctionCall test.int64@1[
+              LiteralExpr [STRING] [2]
+            ]
+            FunctionCall test.int64@1[
+              LiteralExpr [STRING] [3]
+            ]
+          ]
+        ]
+      Let Variable [ Name=$f ]
+        :=
+        FunctionCall asterix.stddev@1[
+          OrderedListConstructor [
+            FunctionCall test.float@1[
+              LiteralExpr [STRING] [1]
+            ]
+            FunctionCall test.float@1[
+              LiteralExpr [STRING] [2]
+            ]
+            FunctionCall test.float@1[
+              LiteralExpr [STRING] [3]
+            ]
+          ]
+        ]
+      Let Variable [ Name=$d ]
+        :=
+        FunctionCall asterix.stddev@1[
+          OrderedListConstructor [
+            FunctionCall test.double@1[
+              LiteralExpr [STRING] [1]
+            ]
+            FunctionCall test.double@1[
+              LiteralExpr [STRING] [2]
+            ]
+            FunctionCall test.double@1[
+              LiteralExpr [STRING] [3]
+            ]
+          ]
+        ]
+      SELECT ELEMENT [
+      Variable [ Name=$i ]
       ]
-      FunctionCall test.int8@1[
-        LiteralExpr [STRING] [2]
+      FROM [        OrderedListConstructor [
+          Variable [ Name=$i8 ]
+          Variable [ Name=$i16 ]
+          Variable [ Name=$i32 ]
+          Variable [ Name=$i64 ]
+          Variable [ Name=$f ]
+          Variable [ Name=$d ]
+        ]
+        AS Variable [ Name=$i ]
       ]
-      FunctionCall test.int8@1[
-        LiteralExpr [STRING] [3]
+    )
+  )
+  (
+    LiteralExpr [STRING] [stddev_pop]
+    :
+    (
+      Let Variable [ Name=$i8 ]
+        :=
+        FunctionCall asterix.stddev_pop@1[
+          OrderedListConstructor [
+            FunctionCall test.int8@1[
+              LiteralExpr [STRING] [1]
+            ]
+            FunctionCall test.int8@1[
+              LiteralExpr [STRING] [2]
+            ]
+            FunctionCall test.int8@1[
+              LiteralExpr [STRING] [3]
+            ]
+          ]
+        ]
+      Let Variable [ Name=$i16 ]
+        :=
+        FunctionCall asterix.stddev_pop@1[
+          OrderedListConstructor [
+            FunctionCall test.int16@1[
+              LiteralExpr [STRING] [1]
+            ]
+            FunctionCall test.int16@1[
+              LiteralExpr [STRING] [2]
+            ]
+            FunctionCall test.int16@1[
+              LiteralExpr [STRING] [3]
+            ]
+          ]
+        ]
+      Let Variable [ Name=$i32 ]
+        :=
+        FunctionCall asterix.stddev_pop@1[
+          OrderedListConstructor [
+            FunctionCall test.int32@1[
+              LiteralExpr [STRING] [1]
+            ]
+            FunctionCall test.int32@1[
+              LiteralExpr [STRING] [2]
+            ]
+            FunctionCall test.int32@1[
+              LiteralExpr [STRING] [3]
+            ]
+          ]
+        ]
+      Let Variable [ Name=$i64 ]
+        :=
+        FunctionCall asterix.stddev_pop@1[
+          OrderedListConstructor [
+            FunctionCall test.int64@1[
+              LiteralExpr [STRING] [1]
+            ]
+            FunctionCall test.int64@1[
+              LiteralExpr [STRING] [2]
+            ]
+            FunctionCall test.int64@1[
+              LiteralExpr [STRING] [3]
+            ]
+          ]
+        ]
+      Let Variable [ Name=$f ]
+        :=
+        FunctionCall asterix.stddev_pop@1[
+          OrderedListConstructor [
+            FunctionCall test.float@1[
+              LiteralExpr [STRING] [1]
+            ]
+            FunctionCall test.float@1[
+              LiteralExpr [STRING] [2]
+            ]
+            FunctionCall test.float@1[
+              LiteralExpr [STRING] [3]
+            ]
+          ]
+        ]
+      Let Variable [ Name=$d ]
+        :=
+        FunctionCall asterix.stddev_pop@1[
+          OrderedListConstructor [
+            FunctionCall test.double@1[
+              LiteralExpr [STRING] [1]
+            ]
+            FunctionCall test.double@1[
+              LiteralExpr [STRING] [2]
+            ]
+            FunctionCall test.double@1[
+              LiteralExpr [STRING] [3]
+            ]
+          ]
+        ]
+      SELECT ELEMENT [
+      Variable [ Name=$i ]
       ]
-    ]
-  ]
-Let Variable [ Name=$i16 ]
-  :=
-  FunctionCall asterix.stddev@1[
-    OrderedListConstructor [
-      FunctionCall test.int16@1[
-        LiteralExpr [STRING] [1]
+      FROM [        OrderedListConstructor [
+          Variable [ Name=$i8 ]
+          Variable [ Name=$i16 ]
+          Variable [ Name=$i32 ]
+          Variable [ Name=$i64 ]
+          Variable [ Name=$f ]
+          Variable [ Name=$d ]
+        ]
+        AS Variable [ Name=$i ]
       ]
-      FunctionCall test.int16@1[
-        LiteralExpr [STRING] [2]
-      ]
-      FunctionCall test.int16@1[
-        LiteralExpr [STRING] [3]
-      ]
-    ]
-  ]
-Let Variable [ Name=$i32 ]
-  :=
-  FunctionCall asterix.stddev@1[
-    OrderedListConstructor [
-      FunctionCall test.int32@1[
-        LiteralExpr [STRING] [1]
-      ]
-      FunctionCall test.int32@1[
-        LiteralExpr [STRING] [2]
-      ]
-      FunctionCall test.int32@1[
-        LiteralExpr [STRING] [3]
-      ]
-    ]
-  ]
-Let Variable [ Name=$i64 ]
-  :=
-  FunctionCall asterix.stddev@1[
-    OrderedListConstructor [
-      FunctionCall test.int64@1[
-        LiteralExpr [STRING] [1]
-      ]
-      FunctionCall test.int64@1[
-        LiteralExpr [STRING] [2]
-      ]
-      FunctionCall test.int64@1[
-        LiteralExpr [STRING] [3]
-      ]
-    ]
-  ]
-Let Variable [ Name=$f ]
-  :=
-  FunctionCall asterix.stddev@1[
-    OrderedListConstructor [
-      FunctionCall test.float@1[
-        LiteralExpr [STRING] [1]
-      ]
-      FunctionCall test.float@1[
-        LiteralExpr [STRING] [2]
-      ]
-      FunctionCall test.float@1[
-        LiteralExpr [STRING] [3]
-      ]
-    ]
-  ]
-Let Variable [ Name=$d ]
-  :=
-  FunctionCall asterix.stddev@1[
-    OrderedListConstructor [
-      FunctionCall test.double@1[
-        LiteralExpr [STRING] [1]
-      ]
-      FunctionCall test.double@1[
-        LiteralExpr [STRING] [2]
-      ]
-      FunctionCall test.double@1[
-        LiteralExpr [STRING] [3]
-      ]
-    ]
-  ]
-SELECT ELEMENT [
-Variable [ Name=$i ]
-]
-FROM [  OrderedListConstructor [
-    Variable [ Name=$i8 ]
-    Variable [ Name=$i16 ]
-    Variable [ Name=$i32 ]
-    Variable [ Name=$i64 ]
-    Variable [ Name=$f ]
-    Variable [ Name=$d ]
-  ]
-  AS Variable [ Name=$i ]
+    )
+  )
 ]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/scalar_stddev_empty/scalar_stddev_empty.3.ast b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/scalar_stddev_empty/scalar_stddev_empty.3.ast
index 9834bb3..cb2d59f 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/scalar_stddev_empty/scalar_stddev_empty.3.ast
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/scalar_stddev_empty/scalar_stddev_empty.3.ast
@@ -1,7 +1,27 @@
 Query:
-SELECT ELEMENT [
-FunctionCall asterix.stddev@1[
-  OrderedListConstructor [
-  ]
-]
+RecordConstructor [
+  (
+    LiteralExpr [STRING] [stddev]
+    :
+    (
+      SELECT ELEMENT [
+      FunctionCall asterix.stddev@1[
+        OrderedListConstructor [
+        ]
+      ]
+      ]
+    )
+  )
+  (
+    LiteralExpr [STRING] [stddev_pop]
+    :
+    (
+      SELECT ELEMENT [
+      FunctionCall asterix.stddev_pop@1[
+        OrderedListConstructor [
+        ]
+      ]
+      ]
+    )
+  )
 ]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/scalar_stddev_null/scalar_stddev_null.3.ast b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/scalar_stddev_null/scalar_stddev_null.3.ast
index eac0b48..a155c95 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/scalar_stddev_null/scalar_stddev_null.3.ast
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/scalar_stddev_null/scalar_stddev_null.3.ast
@@ -1,111 +1,234 @@
 DataverseUse test
 Query:
-Let Variable [ Name=$i8 ]
-  :=
-  FunctionCall asterix.stddev@1[
-    OrderedListConstructor [
-      FunctionCall test.int8@1[
-        LiteralExpr [STRING] [1]
+RecordConstructor [
+  (
+    LiteralExpr [STRING] [stddev]
+    :
+    (
+      Let Variable [ Name=$i8 ]
+        :=
+        FunctionCall asterix.stddev@1[
+          OrderedListConstructor [
+            FunctionCall test.int8@1[
+              LiteralExpr [STRING] [1]
+            ]
+            FunctionCall test.int8@1[
+              LiteralExpr [STRING] [2]
+            ]
+            FunctionCall test.int8@1[
+              LiteralExpr [STRING] [3]
+            ]
+            LiteralExpr [NULL]
+          ]
+        ]
+      Let Variable [ Name=$i16 ]
+        :=
+        FunctionCall asterix.stddev@1[
+          OrderedListConstructor [
+            FunctionCall test.int16@1[
+              LiteralExpr [STRING] [1]
+            ]
+            FunctionCall test.int16@1[
+              LiteralExpr [STRING] [2]
+            ]
+            FunctionCall test.int16@1[
+              LiteralExpr [STRING] [3]
+            ]
+            LiteralExpr [NULL]
+          ]
+        ]
+      Let Variable [ Name=$i32 ]
+        :=
+        FunctionCall asterix.stddev@1[
+          OrderedListConstructor [
+            FunctionCall test.int32@1[
+              LiteralExpr [STRING] [1]
+            ]
+            FunctionCall test.int32@1[
+              LiteralExpr [STRING] [2]
+            ]
+            FunctionCall test.int32@1[
+              LiteralExpr [STRING] [3]
+            ]
+            LiteralExpr [NULL]
+          ]
+        ]
+      Let Variable [ Name=$i64 ]
+        :=
+        FunctionCall asterix.stddev@1[
+          OrderedListConstructor [
+            FunctionCall test.int64@1[
+              LiteralExpr [STRING] [1]
+            ]
+            FunctionCall test.int64@1[
+              LiteralExpr [STRING] [2]
+            ]
+            FunctionCall test.int64@1[
+              LiteralExpr [STRING] [3]
+            ]
+            LiteralExpr [NULL]
+          ]
+        ]
+      Let Variable [ Name=$f ]
+        :=
+        FunctionCall asterix.stddev@1[
+          OrderedListConstructor [
+            FunctionCall test.float@1[
+              LiteralExpr [STRING] [1]
+            ]
+            FunctionCall test.float@1[
+              LiteralExpr [STRING] [2]
+            ]
+            FunctionCall test.float@1[
+              LiteralExpr [STRING] [3]
+            ]
+            LiteralExpr [NULL]
+          ]
+        ]
+      Let Variable [ Name=$d ]
+        :=
+        FunctionCall asterix.stddev@1[
+          OrderedListConstructor [
+            FunctionCall test.double@1[
+              LiteralExpr [STRING] [1]
+            ]
+            FunctionCall test.double@1[
+              LiteralExpr [STRING] [2]
+            ]
+            FunctionCall test.double@1[
+              LiteralExpr [STRING] [3]
+            ]
+            LiteralExpr [NULL]
+          ]
+        ]
+      SELECT ELEMENT [
+      Variable [ Name=$i ]
       ]
-      FunctionCall test.int8@1[
-        LiteralExpr [STRING] [2]
+      FROM [        OrderedListConstructor [
+          Variable [ Name=$i8 ]
+          Variable [ Name=$i16 ]
+          Variable [ Name=$i32 ]
+          Variable [ Name=$i64 ]
+          Variable [ Name=$f ]
+          Variable [ Name=$d ]
+        ]
+        AS Variable [ Name=$i ]
       ]
-      FunctionCall test.int8@1[
-        LiteralExpr [STRING] [3]
+    )
+  )
+  (
+    LiteralExpr [STRING] [stddev_pop]
+    :
+    (
+      Let Variable [ Name=$i8 ]
+        :=
+        FunctionCall asterix.stddev_pop@1[
+          OrderedListConstructor [
+            FunctionCall test.int8@1[
+              LiteralExpr [STRING] [1]
+            ]
+            FunctionCall test.int8@1[
+              LiteralExpr [STRING] [2]
+            ]
+            FunctionCall test.int8@1[
+              LiteralExpr [STRING] [3]
+            ]
+            LiteralExpr [NULL]
+          ]
+        ]
+      Let Variable [ Name=$i16 ]
+        :=
+        FunctionCall asterix.stddev_pop@1[
+          OrderedListConstructor [
+            FunctionCall test.int16@1[
+              LiteralExpr [STRING] [1]
+            ]
+            FunctionCall test.int16@1[
+              LiteralExpr [STRING] [2]
+            ]
+            FunctionCall test.int16@1[
+              LiteralExpr [STRING] [3]
+            ]
+            LiteralExpr [NULL]
+          ]
+        ]
+      Let Variable [ Name=$i32 ]
+        :=
+        FunctionCall asterix.stddev_pop@1[
+          OrderedListConstructor [
+            FunctionCall test.int32@1[
+              LiteralExpr [STRING] [1]
+            ]
+            FunctionCall test.int32@1[
+              LiteralExpr [STRING] [2]
+            ]
+            FunctionCall test.int32@1[
+              LiteralExpr [STRING] [3]
+            ]
+            LiteralExpr [NULL]
+          ]
+        ]
+      Let Variable [ Name=$i64 ]
+        :=
+        FunctionCall asterix.stddev_pop@1[
+          OrderedListConstructor [
+            FunctionCall test.int64@1[
+              LiteralExpr [STRING] [1]
+            ]
+            FunctionCall test.int64@1[
+              LiteralExpr [STRING] [2]
+            ]
+            FunctionCall test.int64@1[
+              LiteralExpr [STRING] [3]
+            ]
+            LiteralExpr [NULL]
+          ]
+        ]
+      Let Variable [ Name=$f ]
+        :=
+        FunctionCall asterix.stddev_pop@1[
+          OrderedListConstructor [
+            FunctionCall test.float@1[
+              LiteralExpr [STRING] [1]
+            ]
+            FunctionCall test.float@1[
+              LiteralExpr [STRING] [2]
+            ]
+            FunctionCall test.float@1[
+              LiteralExpr [STRING] [3]
+            ]
+            LiteralExpr [NULL]
+          ]
+        ]
+      Let Variable [ Name=$d ]
+        :=
+        FunctionCall asterix.stddev_pop@1[
+          OrderedListConstructor [
+            FunctionCall test.double@1[
+              LiteralExpr [STRING] [1]
+            ]
+            FunctionCall test.double@1[
+              LiteralExpr [STRING] [2]
+            ]
+            FunctionCall test.double@1[
+              LiteralExpr [STRING] [3]
+            ]
+            LiteralExpr [NULL]
+          ]
+        ]
+      SELECT ELEMENT [
+      Variable [ Name=$i ]
       ]
-      LiteralExpr [NULL]
-    ]
-  ]
-Let Variable [ Name=$i16 ]
-  :=
-  FunctionCall asterix.stddev@1[
-    OrderedListConstructor [
-      FunctionCall test.int16@1[
-        LiteralExpr [STRING] [1]
+      FROM [        OrderedListConstructor [
+          Variable [ Name=$i8 ]
+          Variable [ Name=$i16 ]
+          Variable [ Name=$i32 ]
+          Variable [ Name=$i64 ]
+          Variable [ Name=$f ]
+          Variable [ Name=$d ]
+        ]
+        AS Variable [ Name=$i ]
       ]
-      FunctionCall test.int16@1[
-        LiteralExpr [STRING] [2]
-      ]
-      FunctionCall test.int16@1[
-        LiteralExpr [STRING] [3]
-      ]
-      LiteralExpr [NULL]
-    ]
-  ]
-Let Variable [ Name=$i32 ]
-  :=
-  FunctionCall asterix.stddev@1[
-    OrderedListConstructor [
-      FunctionCall test.int32@1[
-        LiteralExpr [STRING] [1]
-      ]
-      FunctionCall test.int32@1[
-        LiteralExpr [STRING] [2]
-      ]
-      FunctionCall test.int32@1[
-        LiteralExpr [STRING] [3]
-      ]
-      LiteralExpr [NULL]
-    ]
-  ]
-Let Variable [ Name=$i64 ]
-  :=
-  FunctionCall asterix.stddev@1[
-    OrderedListConstructor [
-      FunctionCall test.int64@1[
-        LiteralExpr [STRING] [1]
-      ]
-      FunctionCall test.int64@1[
-        LiteralExpr [STRING] [2]
-      ]
-      FunctionCall test.int64@1[
-        LiteralExpr [STRING] [3]
-      ]
-      LiteralExpr [NULL]
-    ]
-  ]
-Let Variable [ Name=$f ]
-  :=
-  FunctionCall asterix.stddev@1[
-    OrderedListConstructor [
-      FunctionCall test.float@1[
-        LiteralExpr [STRING] [1]
-      ]
-      FunctionCall test.float@1[
-        LiteralExpr [STRING] [2]
-      ]
-      FunctionCall test.float@1[
-        LiteralExpr [STRING] [3]
-      ]
-      LiteralExpr [NULL]
-    ]
-  ]
-Let Variable [ Name=$d ]
-  :=
-  FunctionCall asterix.stddev@1[
-    OrderedListConstructor [
-      FunctionCall test.double@1[
-        LiteralExpr [STRING] [1]
-      ]
-      FunctionCall test.double@1[
-        LiteralExpr [STRING] [2]
-      ]
-      FunctionCall test.double@1[
-        LiteralExpr [STRING] [3]
-      ]
-      LiteralExpr [NULL]
-    ]
-  ]
-SELECT ELEMENT [
-Variable [ Name=$i ]
-]
-FROM [  OrderedListConstructor [
-    Variable [ Name=$i8 ]
-    Variable [ Name=$i16 ]
-    Variable [ Name=$i32 ]
-    Variable [ Name=$i64 ]
-    Variable [ Name=$f ]
-    Variable [ Name=$d ]
-  ]
-  AS Variable [ Name=$i ]
+    )
+  )
 ]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/serial_stddev_double/serial_stddev_double.3.ast b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/serial_stddev_double/serial_stddev_double.3.ast
index 43263e5..02388b6 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/serial_stddev_double/serial_stddev_double.3.ast
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/serial_stddev_double/serial_stddev_double.3.ast
@@ -17,6 +17,20 @@
   )
 ]
 stddev
+FunctionCall asterix.stddev_pop@1[
+  (
+    SELECT ELEMENT [
+    FieldAccessor [
+      Variable [ Name=$g ]
+      Field=val
+    ]
+    ]
+    FROM [      Variable [ Name=$g ]
+      AS Variable [ Name=$g ]
+    ]
+  )
+]
+stddev_pop
 ]
 FROM [  FunctionCall asterix.dataset@1[
     LiteralExpr [STRING] [test.Test]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/serial_stddev_double_null/serial_stddev_double_null.3.ast b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/serial_stddev_double_null/serial_stddev_double_null.3.ast
index f05d552..b8ce40c 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/serial_stddev_double_null/serial_stddev_double_null.3.ast
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/serial_stddev_double_null/serial_stddev_double_null.3.ast
@@ -17,6 +17,20 @@
   )
 ]
 stddev
+FunctionCall asterix.stddev_pop@1[
+  (
+    SELECT ELEMENT [
+    FieldAccessor [
+      Variable [ Name=$g ]
+      Field=valplus
+    ]
+    ]
+    FROM [      Variable [ Name=$g ]
+      AS Variable [ Name=$g ]
+    ]
+  )
+]
+stddev_pop
 ]
 FROM [  FunctionCall asterix.dataset@1[
     LiteralExpr [STRING] [test.Test]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/serial_stddev_empty/serial_stddev_empty.3.ast b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/serial_stddev_empty/serial_stddev_empty.3.ast
index 43263e5..02388b6 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/serial_stddev_empty/serial_stddev_empty.3.ast
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/serial_stddev_empty/serial_stddev_empty.3.ast
@@ -17,6 +17,20 @@
   )
 ]
 stddev
+FunctionCall asterix.stddev_pop@1[
+  (
+    SELECT ELEMENT [
+    FieldAccessor [
+      Variable [ Name=$g ]
+      Field=val
+    ]
+    ]
+    FROM [      Variable [ Name=$g ]
+      AS Variable [ Name=$g ]
+    ]
+  )
+]
+stddev_pop
 ]
 FROM [  FunctionCall asterix.dataset@1[
     LiteralExpr [STRING] [test.Test]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/serial_stddev_float/serial_stddev_float.3.ast b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/serial_stddev_float/serial_stddev_float.3.ast
index 43263e5..02388b6 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/serial_stddev_float/serial_stddev_float.3.ast
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/serial_stddev_float/serial_stddev_float.3.ast
@@ -17,6 +17,20 @@
   )
 ]
 stddev
+FunctionCall asterix.stddev_pop@1[
+  (
+    SELECT ELEMENT [
+    FieldAccessor [
+      Variable [ Name=$g ]
+      Field=val
+    ]
+    ]
+    FROM [      Variable [ Name=$g ]
+      AS Variable [ Name=$g ]
+    ]
+  )
+]
+stddev_pop
 ]
 FROM [  FunctionCall asterix.dataset@1[
     LiteralExpr [STRING] [test.Test]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/serial_stddev_float_null/serial_stddev_float_null.3.ast b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/serial_stddev_float_null/serial_stddev_float_null.3.ast
index f05d552..b8ce40c 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/serial_stddev_float_null/serial_stddev_float_null.3.ast
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/serial_stddev_float_null/serial_stddev_float_null.3.ast
@@ -17,6 +17,20 @@
   )
 ]
 stddev
+FunctionCall asterix.stddev_pop@1[
+  (
+    SELECT ELEMENT [
+    FieldAccessor [
+      Variable [ Name=$g ]
+      Field=valplus
+    ]
+    ]
+    FROM [      Variable [ Name=$g ]
+      AS Variable [ Name=$g ]
+    ]
+  )
+]
+stddev_pop
 ]
 FROM [  FunctionCall asterix.dataset@1[
     LiteralExpr [STRING] [test.Test]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/serial_stddev_int16/serial_stddev_int16.3.ast b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/serial_stddev_int16/serial_stddev_int16.3.ast
index 43263e5..02388b6 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/serial_stddev_int16/serial_stddev_int16.3.ast
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/serial_stddev_int16/serial_stddev_int16.3.ast
@@ -17,6 +17,20 @@
   )
 ]
 stddev
+FunctionCall asterix.stddev_pop@1[
+  (
+    SELECT ELEMENT [
+    FieldAccessor [
+      Variable [ Name=$g ]
+      Field=val
+    ]
+    ]
+    FROM [      Variable [ Name=$g ]
+      AS Variable [ Name=$g ]
+    ]
+  )
+]
+stddev_pop
 ]
 FROM [  FunctionCall asterix.dataset@1[
     LiteralExpr [STRING] [test.Test]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/serial_stddev_int16_null/serial_stddev_int16_null.3.ast b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/serial_stddev_int16_null/serial_stddev_int16_null.3.ast
index f05d552..b8ce40c 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/serial_stddev_int16_null/serial_stddev_int16_null.3.ast
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/serial_stddev_int16_null/serial_stddev_int16_null.3.ast
@@ -17,6 +17,20 @@
   )
 ]
 stddev
+FunctionCall asterix.stddev_pop@1[
+  (
+    SELECT ELEMENT [
+    FieldAccessor [
+      Variable [ Name=$g ]
+      Field=valplus
+    ]
+    ]
+    FROM [      Variable [ Name=$g ]
+      AS Variable [ Name=$g ]
+    ]
+  )
+]
+stddev_pop
 ]
 FROM [  FunctionCall asterix.dataset@1[
     LiteralExpr [STRING] [test.Test]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/serial_stddev_int32/serial_stddev_int32.3.ast b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/serial_stddev_int32/serial_stddev_int32.3.ast
index 43263e5..02388b6 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/serial_stddev_int32/serial_stddev_int32.3.ast
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/serial_stddev_int32/serial_stddev_int32.3.ast
@@ -17,6 +17,20 @@
   )
 ]
 stddev
+FunctionCall asterix.stddev_pop@1[
+  (
+    SELECT ELEMENT [
+    FieldAccessor [
+      Variable [ Name=$g ]
+      Field=val
+    ]
+    ]
+    FROM [      Variable [ Name=$g ]
+      AS Variable [ Name=$g ]
+    ]
+  )
+]
+stddev_pop
 ]
 FROM [  FunctionCall asterix.dataset@1[
     LiteralExpr [STRING] [test.Test]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/serial_stddev_int32_null/serial_stddev_int32_null.3.ast b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/serial_stddev_int32_null/serial_stddev_int32_null.3.ast
index f05d552..b8ce40c 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/serial_stddev_int32_null/serial_stddev_int32_null.3.ast
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/serial_stddev_int32_null/serial_stddev_int32_null.3.ast
@@ -17,6 +17,20 @@
   )
 ]
 stddev
+FunctionCall asterix.stddev_pop@1[
+  (
+    SELECT ELEMENT [
+    FieldAccessor [
+      Variable [ Name=$g ]
+      Field=valplus
+    ]
+    ]
+    FROM [      Variable [ Name=$g ]
+      AS Variable [ Name=$g ]
+    ]
+  )
+]
+stddev_pop
 ]
 FROM [  FunctionCall asterix.dataset@1[
     LiteralExpr [STRING] [test.Test]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/serial_stddev_int64/serial_stddev_int64.3.ast b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/serial_stddev_int64/serial_stddev_int64.3.ast
index 43263e5..02388b6 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/serial_stddev_int64/serial_stddev_int64.3.ast
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/serial_stddev_int64/serial_stddev_int64.3.ast
@@ -17,6 +17,20 @@
   )
 ]
 stddev
+FunctionCall asterix.stddev_pop@1[
+  (
+    SELECT ELEMENT [
+    FieldAccessor [
+      Variable [ Name=$g ]
+      Field=val
+    ]
+    ]
+    FROM [      Variable [ Name=$g ]
+      AS Variable [ Name=$g ]
+    ]
+  )
+]
+stddev_pop
 ]
 FROM [  FunctionCall asterix.dataset@1[
     LiteralExpr [STRING] [test.Test]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/serial_stddev_int64_null/serial_stddev_int64_null.3.ast b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/serial_stddev_int64_null/serial_stddev_int64_null.3.ast
index f05d552..b8ce40c 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/serial_stddev_int64_null/serial_stddev_int64_null.3.ast
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/serial_stddev_int64_null/serial_stddev_int64_null.3.ast
@@ -17,6 +17,20 @@
   )
 ]
 stddev
+FunctionCall asterix.stddev_pop@1[
+  (
+    SELECT ELEMENT [
+    FieldAccessor [
+      Variable [ Name=$g ]
+      Field=valplus
+    ]
+    ]
+    FROM [      Variable [ Name=$g ]
+      AS Variable [ Name=$g ]
+    ]
+  )
+]
+stddev_pop
 ]
 FROM [  FunctionCall asterix.dataset@1[
     LiteralExpr [STRING] [test.Test]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/serial_stddev_int8/serial_stddev_int8.3.ast b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/serial_stddev_int8/serial_stddev_int8.3.ast
index 43263e5..02388b6 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/serial_stddev_int8/serial_stddev_int8.3.ast
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/serial_stddev_int8/serial_stddev_int8.3.ast
@@ -17,6 +17,20 @@
   )
 ]
 stddev
+FunctionCall asterix.stddev_pop@1[
+  (
+    SELECT ELEMENT [
+    FieldAccessor [
+      Variable [ Name=$g ]
+      Field=val
+    ]
+    ]
+    FROM [      Variable [ Name=$g ]
+      AS Variable [ Name=$g ]
+    ]
+  )
+]
+stddev_pop
 ]
 FROM [  FunctionCall asterix.dataset@1[
     LiteralExpr [STRING] [test.Test]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/serial_stddev_int8_null/serial_stddev_int8_null.3.ast b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/serial_stddev_int8_null/serial_stddev_int8_null.3.ast
index f05d552..b8ce40c 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/serial_stddev_int8_null/serial_stddev_int8_null.3.ast
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/serial_stddev_int8_null/serial_stddev_int8_null.3.ast
@@ -17,6 +17,20 @@
   )
 ]
 stddev
+FunctionCall asterix.stddev_pop@1[
+  (
+    SELECT ELEMENT [
+    FieldAccessor [
+      Variable [ Name=$g ]
+      Field=valplus
+    ]
+    ]
+    FROM [      Variable [ Name=$g ]
+      AS Variable [ Name=$g ]
+    ]
+  )
+]
+stddev_pop
 ]
 FROM [  FunctionCall asterix.dataset@1[
     LiteralExpr [STRING] [test.Test]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/serial_stddev_pop_mixed/serial_stddev_pop_mixed.1.ast b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/serial_stddev_pop_mixed/serial_stddev_pop_mixed.1.ast
new file mode 100644
index 0000000..a61c9df
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/serial_stddev_pop_mixed/serial_stddev_pop_mixed.1.ast
@@ -0,0 +1,9 @@
+DataverseUse test
+TypeDecl TestType [
+  open RecordType {
+    id : bigint,
+    gid : bigint,
+    val : double
+  }
+]
+DatasetDecl Test(TestType) partitioned by [[id]]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/serial_stddev_pop_mixed/serial_stddev_pop_mixed.2.ast b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/serial_stddev_pop_mixed/serial_stddev_pop_mixed.2.ast
new file mode 100644
index 0000000..916a59e
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/serial_stddev_pop_mixed/serial_stddev_pop_mixed.2.ast
@@ -0,0 +1 @@
+DataverseUse test
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/serial_stddev_pop_mixed/serial_stddev_pop_mixed.3.ast b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/serial_stddev_pop_mixed/serial_stddev_pop_mixed.3.ast
new file mode 100644
index 0000000..5edf9bd
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/serial_stddev_pop_mixed/serial_stddev_pop_mixed.3.ast
@@ -0,0 +1,40 @@
+DataverseUse test
+Query:
+SELECT [
+Variable [ Name=$gid ]
+gid
+FunctionCall asterix.stddev_pop@1[
+  (
+    SELECT ELEMENT [
+    FieldAccessor [
+      Variable [ Name=$g ]
+      Field=valplus
+    ]
+    ]
+    FROM [      Variable [ Name=$g ]
+      AS Variable [ Name=$g ]
+    ]
+  )
+]
+stddev_pop
+]
+FROM [  FunctionCall asterix.dataset@1[
+    LiteralExpr [STRING] [test.Test]
+  ]
+  AS Variable [ Name=$t ]
+]
+Groupby
+  Variable [ Name=$gid ]
+  :=
+  FieldAccessor [
+    Variable [ Name=$t ]
+    Field=gid
+  ]
+  GROUP AS Variable [ Name=$g ]
+  (
+    valplus:=FunctionCall asterix.field-access-by-name@2[
+  Variable [ Name=$t ]
+  LiteralExpr [STRING] [valplus]
+]
+  )
+
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/stddev_double/stddev_double.3.ast b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/stddev_double/stddev_double.3.ast
index b2fcbe8..c2a0566 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/stddev_double/stddev_double.3.ast
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/stddev_double/stddev_double.3.ast
@@ -1,19 +1,51 @@
 Query:
-SELECT ELEMENT [
-FunctionCall asterix.stddev@1[
+RecordConstructor [
   (
-    SELECT ELEMENT [
-    Variable [ Name=$x ]
-    ]
-    FROM [      OrderedListConstructor [
-        LiteralExpr [DOUBLE] [1.0]
-        LiteralExpr [DOUBLE] [2.0]
-        FunctionCall null.double@1[
-          LiteralExpr [STRING] [3.0]
-        ]
+    LiteralExpr [STRING] [stddev]
+    :
+    (
+      SELECT ELEMENT [
+      FunctionCall asterix.stddev@1[
+        (
+          SELECT ELEMENT [
+          Variable [ Name=$x ]
+          ]
+          FROM [            OrderedListConstructor [
+              LiteralExpr [DOUBLE] [1.0]
+              LiteralExpr [DOUBLE] [2.0]
+              FunctionCall null.double@1[
+                LiteralExpr [STRING] [3.0]
+              ]
+            ]
+            AS Variable [ Name=$x ]
+          ]
+        )
       ]
-      AS Variable [ Name=$x ]
-    ]
+      ]
+    )
   )
-]
+  (
+    LiteralExpr [STRING] [stddev_pop]
+    :
+    (
+      SELECT ELEMENT [
+      FunctionCall asterix.stddev_pop@1[
+        (
+          SELECT ELEMENT [
+          Variable [ Name=$x ]
+          ]
+          FROM [            OrderedListConstructor [
+              LiteralExpr [DOUBLE] [1.0]
+              LiteralExpr [DOUBLE] [2.0]
+              FunctionCall null.double@1[
+                LiteralExpr [STRING] [3.0]
+              ]
+            ]
+            AS Variable [ Name=$x ]
+          ]
+        )
+      ]
+      ]
+    )
+  )
 ]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/stddev_double_null/stddev_double_null.3.ast b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/stddev_double_null/stddev_double_null.3.ast
index 433f0bc..863ef3a 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/stddev_double_null/stddev_double_null.3.ast
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/stddev_double_null/stddev_double_null.3.ast
@@ -20,4 +20,23 @@
       )
     ]
   )
+  (
+    LiteralExpr [STRING] [stddev_pop]
+    :
+    FunctionCall asterix.stddev_pop@1[
+      (
+        SELECT ELEMENT [
+        FieldAccessor [
+          Variable [ Name=$x ]
+          Field=doubleField
+        ]
+        ]
+        FROM [          FunctionCall asterix.dataset@1[
+            LiteralExpr [STRING] [test.Numeric]
+          ]
+          AS Variable [ Name=$x ]
+        ]
+      )
+    ]
+  )
 ]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/stddev_empty_01/stddev_empty_01.3.ast b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/stddev_empty_01/stddev_empty_01.3.ast
index fe21498..6d6b228 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/stddev_empty_01/stddev_empty_01.3.ast
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/stddev_empty_01/stddev_empty_01.3.ast
@@ -1,24 +1,60 @@
 DataverseUse test
 Query:
-SELECT ELEMENT [
-FunctionCall asterix.stddev@1[
+RecordConstructor [
   (
-    SELECT ELEMENT [
-    Variable [ Name=$x ]
-    ]
-    FROM [      OrderedListConstructor [
-        LiteralExpr [LONG] [1]
-        LiteralExpr [LONG] [2]
-        LiteralExpr [LONG] [3]
+    LiteralExpr [STRING] [stddev]
+    :
+    (
+      SELECT ELEMENT [
+      FunctionCall asterix.stddev@1[
+        (
+          SELECT ELEMENT [
+          Variable [ Name=$x ]
+          ]
+          FROM [            OrderedListConstructor [
+              LiteralExpr [LONG] [1]
+              LiteralExpr [LONG] [2]
+              LiteralExpr [LONG] [3]
+            ]
+            AS Variable [ Name=$x ]
+          ]
+          Where
+            OperatorExpr [
+              Variable [ Name=$x ]
+              >
+              LiteralExpr [LONG] [10]
+            ]
+        )
       ]
-      AS Variable [ Name=$x ]
-    ]
-    Where
-      OperatorExpr [
-        Variable [ Name=$x ]
-        >
-        LiteralExpr [LONG] [10]
       ]
+    )
   )
-]
+  (
+    LiteralExpr [STRING] [stddev_pop]
+    :
+    (
+      SELECT ELEMENT [
+      FunctionCall asterix.stddev_pop@1[
+        (
+          SELECT ELEMENT [
+          Variable [ Name=$x ]
+          ]
+          FROM [            OrderedListConstructor [
+              LiteralExpr [LONG] [1]
+              LiteralExpr [LONG] [2]
+              LiteralExpr [LONG] [3]
+            ]
+            AS Variable [ Name=$x ]
+          ]
+          Where
+            OperatorExpr [
+              Variable [ Name=$x ]
+              >
+              LiteralExpr [LONG] [10]
+            ]
+        )
+      ]
+      ]
+    )
+  )
 ]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/stddev_empty_02/stddev_empty_02.3.ast b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/stddev_empty_02/stddev_empty_02.3.ast
index 6cb121c..ee7f74f 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/stddev_empty_02/stddev_empty_02.3.ast
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/stddev_empty_02/stddev_empty_02.3.ast
@@ -1,19 +1,50 @@
 DataverseUse test
 Query:
-SELECT ELEMENT [
-FunctionCall asterix.stddev@1[
+RecordConstructor [
   (
-    SELECT ELEMENT [
-    FieldAccessor [
-      Variable [ Name=$x ]
-      Field=val
-    ]
-    ]
-    FROM [      FunctionCall asterix.dataset@1[
-        LiteralExpr [STRING] [test.Test]
+    LiteralExpr [STRING] [stddev]
+    :
+    (
+      SELECT ELEMENT [
+      FunctionCall asterix.stddev@1[
+        (
+          SELECT ELEMENT [
+          FieldAccessor [
+            Variable [ Name=$x ]
+            Field=val
+          ]
+          ]
+          FROM [            FunctionCall asterix.dataset@1[
+              LiteralExpr [STRING] [test.Test]
+            ]
+            AS Variable [ Name=$x ]
+          ]
+        )
       ]
-      AS Variable [ Name=$x ]
-    ]
+      ]
+    )
   )
-]
+  (
+    LiteralExpr [STRING] [stddev_pop]
+    :
+    (
+      SELECT ELEMENT [
+      FunctionCall asterix.stddev_pop@1[
+        (
+          SELECT ELEMENT [
+          FieldAccessor [
+            Variable [ Name=$x ]
+            Field=val
+          ]
+          ]
+          FROM [            FunctionCall asterix.dataset@1[
+              LiteralExpr [STRING] [test.Test]
+            ]
+            AS Variable [ Name=$x ]
+          ]
+        )
+      ]
+      ]
+    )
+  )
 ]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/stddev_float/stddev_float.3.ast b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/stddev_float/stddev_float.3.ast
index 07e5c1a..679b6a5 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/stddev_float/stddev_float.3.ast
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/stddev_float/stddev_float.3.ast
@@ -1,24 +1,60 @@
 DataverseUse test
 Query:
-SELECT ELEMENT [
-FunctionCall asterix.stddev@1[
+RecordConstructor [
   (
-    SELECT ELEMENT [
-    Variable [ Name=$x ]
-    ]
-    FROM [      OrderedListConstructor [
-        FunctionCall test.float@1[
-          LiteralExpr [STRING] [1]
-        ]
-        FunctionCall test.float@1[
-          LiteralExpr [STRING] [2]
-        ]
-        FunctionCall test.float@1[
-          LiteralExpr [STRING] [3]
-        ]
+    LiteralExpr [STRING] [stddev]
+    :
+    (
+      SELECT ELEMENT [
+      FunctionCall asterix.stddev@1[
+        (
+          SELECT ELEMENT [
+          Variable [ Name=$x ]
+          ]
+          FROM [            OrderedListConstructor [
+              FunctionCall test.float@1[
+                LiteralExpr [STRING] [1]
+              ]
+              FunctionCall test.float@1[
+                LiteralExpr [STRING] [2]
+              ]
+              FunctionCall test.float@1[
+                LiteralExpr [STRING] [3]
+              ]
+            ]
+            AS Variable [ Name=$x ]
+          ]
+        )
       ]
-      AS Variable [ Name=$x ]
-    ]
+      ]
+    )
   )
-]
+  (
+    LiteralExpr [STRING] [stddev_pop]
+    :
+    (
+      SELECT ELEMENT [
+      FunctionCall asterix.stddev_pop@1[
+        (
+          SELECT ELEMENT [
+          Variable [ Name=$x ]
+          ]
+          FROM [            OrderedListConstructor [
+              FunctionCall test.float@1[
+                LiteralExpr [STRING] [1]
+              ]
+              FunctionCall test.float@1[
+                LiteralExpr [STRING] [2]
+              ]
+              FunctionCall test.float@1[
+                LiteralExpr [STRING] [3]
+              ]
+            ]
+            AS Variable [ Name=$x ]
+          ]
+        )
+      ]
+      ]
+    )
+  )
 ]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/stddev_float_null/stddev_float_nu.3.ast b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/stddev_float_null/stddev_float_nu.3.ast
index f78dba8..93e6093 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/stddev_float_null/stddev_float_nu.3.ast
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/stddev_float_null/stddev_float_nu.3.ast
@@ -20,4 +20,23 @@
       )
     ]
   )
+  (
+    LiteralExpr [STRING] [stddev_pop]
+    :
+    FunctionCall asterix.stddev_pop@1[
+      (
+        SELECT ELEMENT [
+        FieldAccessor [
+          Variable [ Name=$x ]
+          Field=floatField
+        ]
+        ]
+        FROM [          FunctionCall asterix.dataset@1[
+            LiteralExpr [STRING] [test.Numeric]
+          ]
+          AS Variable [ Name=$x ]
+        ]
+      )
+    ]
+  )
 ]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/stddev_int16/stddev_int16.3.ast b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/stddev_int16/stddev_int16.3.ast
index 67d7880..00b7c98 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/stddev_int16/stddev_int16.3.ast
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/stddev_int16/stddev_int16.3.ast
@@ -1,24 +1,60 @@
 DataverseUse test
 Query:
-SELECT ELEMENT [
-FunctionCall asterix.stddev@1[
+RecordConstructor [
   (
-    SELECT ELEMENT [
-    Variable [ Name=$x ]
-    ]
-    FROM [      OrderedListConstructor [
-        FunctionCall test.int16@1[
-          LiteralExpr [STRING] [1]
-        ]
-        FunctionCall test.int16@1[
-          LiteralExpr [STRING] [2]
-        ]
-        FunctionCall test.int16@1[
-          LiteralExpr [STRING] [3]
-        ]
+    LiteralExpr [STRING] [stddev]
+    :
+    (
+      SELECT ELEMENT [
+      FunctionCall asterix.stddev@1[
+        (
+          SELECT ELEMENT [
+          Variable [ Name=$x ]
+          ]
+          FROM [            OrderedListConstructor [
+              FunctionCall test.int16@1[
+                LiteralExpr [STRING] [1]
+              ]
+              FunctionCall test.int16@1[
+                LiteralExpr [STRING] [2]
+              ]
+              FunctionCall test.int16@1[
+                LiteralExpr [STRING] [3]
+              ]
+            ]
+            AS Variable [ Name=$x ]
+          ]
+        )
       ]
-      AS Variable [ Name=$x ]
-    ]
+      ]
+    )
   )
-]
+  (
+    LiteralExpr [STRING] [stddev_pop]
+    :
+    (
+      SELECT ELEMENT [
+      FunctionCall asterix.stddev_pop@1[
+        (
+          SELECT ELEMENT [
+          Variable [ Name=$x ]
+          ]
+          FROM [            OrderedListConstructor [
+              FunctionCall test.int16@1[
+                LiteralExpr [STRING] [1]
+              ]
+              FunctionCall test.int16@1[
+                LiteralExpr [STRING] [2]
+              ]
+              FunctionCall test.int16@1[
+                LiteralExpr [STRING] [3]
+              ]
+            ]
+            AS Variable [ Name=$x ]
+          ]
+        )
+      ]
+      ]
+    )
+  )
 ]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/stddev_int16_null/stddev_int16_null.3.ast b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/stddev_int16_null/stddev_int16_null.3.ast
index 9f82ab2..bf1e0ad 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/stddev_int16_null/stddev_int16_null.3.ast
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/stddev_int16_null/stddev_int16_null.3.ast
@@ -20,4 +20,23 @@
       )
     ]
   )
+  (
+    LiteralExpr [STRING] [stddev_pop]
+    :
+    FunctionCall asterix.stddev_pop@1[
+      (
+        SELECT ELEMENT [
+        FieldAccessor [
+          Variable [ Name=$x ]
+          Field=int16Field
+        ]
+        ]
+        FROM [          FunctionCall asterix.dataset@1[
+            LiteralExpr [STRING] [test.Numeric]
+          ]
+          AS Variable [ Name=$x ]
+        ]
+      )
+    ]
+  )
 ]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/stddev_int32/stddev_int32.3.ast b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/stddev_int32/stddev_int32.3.ast
index f8eb00d..626c894 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/stddev_int32/stddev_int32.3.ast
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/stddev_int32/stddev_int32.3.ast
@@ -1,18 +1,48 @@
 DataverseUse test
 Query:
-SELECT ELEMENT [
-FunctionCall asterix.stddev@1[
+RecordConstructor [
   (
-    SELECT ELEMENT [
-    Variable [ Name=$x ]
-    ]
-    FROM [      OrderedListConstructor [
-        LiteralExpr [LONG] [1]
-        LiteralExpr [LONG] [2]
-        LiteralExpr [LONG] [3]
+    LiteralExpr [STRING] [stddev]
+    :
+    (
+      SELECT ELEMENT [
+      FunctionCall asterix.stddev@1[
+        (
+          SELECT ELEMENT [
+          Variable [ Name=$x ]
+          ]
+          FROM [            OrderedListConstructor [
+              LiteralExpr [LONG] [1]
+              LiteralExpr [LONG] [2]
+              LiteralExpr [LONG] [3]
+            ]
+            AS Variable [ Name=$x ]
+          ]
+        )
       ]
-      AS Variable [ Name=$x ]
-    ]
+      ]
+    )
   )
-]
+  (
+    LiteralExpr [STRING] [stddev_pop]
+    :
+    (
+      SELECT ELEMENT [
+      FunctionCall asterix.stddev_pop@1[
+        (
+          SELECT ELEMENT [
+          Variable [ Name=$x ]
+          ]
+          FROM [            OrderedListConstructor [
+              LiteralExpr [LONG] [1]
+              LiteralExpr [LONG] [2]
+              LiteralExpr [LONG] [3]
+            ]
+            AS Variable [ Name=$x ]
+          ]
+        )
+      ]
+      ]
+    )
+  )
 ]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/stddev_int32_null/stddev_int32_null.3.ast b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/stddev_int32_null/stddev_int32_null.3.ast
index 8863b52..c76244c 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/stddev_int32_null/stddev_int32_null.3.ast
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/stddev_int32_null/stddev_int32_null.3.ast
@@ -20,4 +20,23 @@
       )
     ]
   )
+  (
+    LiteralExpr [STRING] [stddev_pop]
+    :
+    FunctionCall asterix.stddev_pop@1[
+      (
+        SELECT ELEMENT [
+        FieldAccessor [
+          Variable [ Name=$x ]
+          Field=int32Field
+        ]
+        ]
+        FROM [          FunctionCall asterix.dataset@1[
+            LiteralExpr [STRING] [test.Numeric]
+          ]
+          AS Variable [ Name=$x ]
+        ]
+      )
+    ]
+  )
 ]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/stddev_int64/stddev_int64.3.ast b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/stddev_int64/stddev_int64.3.ast
index 5ddf2ae..64f7c03 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/stddev_int64/stddev_int64.3.ast
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/stddev_int64/stddev_int64.3.ast
@@ -1,24 +1,60 @@
 DataverseUse test
 Query:
-SELECT ELEMENT [
-FunctionCall asterix.stddev@1[
+RecordConstructor [
   (
-    SELECT ELEMENT [
-    Variable [ Name=$x ]
-    ]
-    FROM [      OrderedListConstructor [
-        FunctionCall test.int64@1[
-          LiteralExpr [STRING] [1]
-        ]
-        FunctionCall test.int64@1[
-          LiteralExpr [STRING] [2]
-        ]
-        FunctionCall test.int64@1[
-          LiteralExpr [STRING] [3]
-        ]
+    LiteralExpr [STRING] [stddev]
+    :
+    (
+      SELECT ELEMENT [
+      FunctionCall asterix.stddev@1[
+        (
+          SELECT ELEMENT [
+          Variable [ Name=$x ]
+          ]
+          FROM [            OrderedListConstructor [
+              FunctionCall test.int64@1[
+                LiteralExpr [STRING] [1]
+              ]
+              FunctionCall test.int64@1[
+                LiteralExpr [STRING] [2]
+              ]
+              FunctionCall test.int64@1[
+                LiteralExpr [STRING] [3]
+              ]
+            ]
+            AS Variable [ Name=$x ]
+          ]
+        )
       ]
-      AS Variable [ Name=$x ]
-    ]
+      ]
+    )
   )
-]
+  (
+    LiteralExpr [STRING] [stddev_pop]
+    :
+    (
+      SELECT ELEMENT [
+      FunctionCall asterix.stddev_pop@1[
+        (
+          SELECT ELEMENT [
+          Variable [ Name=$x ]
+          ]
+          FROM [            OrderedListConstructor [
+              FunctionCall test.int64@1[
+                LiteralExpr [STRING] [1]
+              ]
+              FunctionCall test.int64@1[
+                LiteralExpr [STRING] [2]
+              ]
+              FunctionCall test.int64@1[
+                LiteralExpr [STRING] [3]
+              ]
+            ]
+            AS Variable [ Name=$x ]
+          ]
+        )
+      ]
+      ]
+    )
+  )
 ]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/stddev_int64_null/stddev_int64_null.3.ast b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/stddev_int64_null/stddev_int64_null.3.ast
index 490ab20..27c0067 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/stddev_int64_null/stddev_int64_null.3.ast
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/stddev_int64_null/stddev_int64_null.3.ast
@@ -20,4 +20,23 @@
       )
     ]
   )
+  (
+    LiteralExpr [STRING] [stddev_pop]
+    :
+    FunctionCall asterix.stddev_pop@1[
+      (
+        SELECT ELEMENT [
+        FieldAccessor [
+          Variable [ Name=$x ]
+          Field=int64Field
+        ]
+        ]
+        FROM [          FunctionCall asterix.dataset@1[
+            LiteralExpr [STRING] [test.Numeric]
+          ]
+          AS Variable [ Name=$x ]
+        ]
+      )
+    ]
+  )
 ]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/stddev_int8/stddev_int8.3.ast b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/stddev_int8/stddev_int8.3.ast
index ca12465..c3eada1 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/stddev_int8/stddev_int8.3.ast
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/stddev_int8/stddev_int8.3.ast
@@ -1,24 +1,60 @@
 DataverseUse test
 Query:
-SELECT ELEMENT [
-FunctionCall asterix.stddev@1[
+RecordConstructor [
   (
-    SELECT ELEMENT [
-    Variable [ Name=$x ]
-    ]
-    FROM [      OrderedListConstructor [
-        FunctionCall test.int8@1[
-          LiteralExpr [STRING] [1]
-        ]
-        FunctionCall test.int8@1[
-          LiteralExpr [STRING] [2]
-        ]
-        FunctionCall test.int8@1[
-          LiteralExpr [STRING] [3]
-        ]
+    LiteralExpr [STRING] [stddev]
+    :
+    (
+      SELECT ELEMENT [
+      FunctionCall asterix.stddev@1[
+        (
+          SELECT ELEMENT [
+          Variable [ Name=$x ]
+          ]
+          FROM [            OrderedListConstructor [
+              FunctionCall test.int8@1[
+                LiteralExpr [STRING] [1]
+              ]
+              FunctionCall test.int8@1[
+                LiteralExpr [STRING] [2]
+              ]
+              FunctionCall test.int8@1[
+                LiteralExpr [STRING] [3]
+              ]
+            ]
+            AS Variable [ Name=$x ]
+          ]
+        )
       ]
-      AS Variable [ Name=$x ]
-    ]
+      ]
+    )
   )
-]
+  (
+    LiteralExpr [STRING] [stddev_pop]
+    :
+    (
+      SELECT ELEMENT [
+      FunctionCall asterix.stddev_pop@1[
+        (
+          SELECT ELEMENT [
+          Variable [ Name=$x ]
+          ]
+          FROM [            OrderedListConstructor [
+              FunctionCall test.int8@1[
+                LiteralExpr [STRING] [1]
+              ]
+              FunctionCall test.int8@1[
+                LiteralExpr [STRING] [2]
+              ]
+              FunctionCall test.int8@1[
+                LiteralExpr [STRING] [3]
+              ]
+            ]
+            AS Variable [ Name=$x ]
+          ]
+        )
+      ]
+      ]
+    )
+  )
 ]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/stddev_int8_null/stddev_int8_null.3.ast b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/stddev_int8_null/stddev_int8_null.3.ast
index 65e8156..db4982a 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/stddev_int8_null/stddev_int8_null.3.ast
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/stddev_int8_null/stddev_int8_null.3.ast
@@ -20,4 +20,23 @@
       )
     ]
   )
+  (
+    LiteralExpr [STRING] [stddev_pop]
+    :
+    FunctionCall asterix.stddev_pop@1[
+      (
+        SELECT ELEMENT [
+        FieldAccessor [
+          Variable [ Name=$x ]
+          Field=int8Field
+        ]
+        ]
+        FROM [          FunctionCall asterix.dataset@1[
+            LiteralExpr [STRING] [test.Numeric]
+          ]
+          AS Variable [ Name=$x ]
+        ]
+      )
+    ]
+  )
 ]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/stddev_pop_mixed/stddev_pop_mixed.3.ast b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/stddev_pop_mixed/stddev_pop_mixed.3.ast
new file mode 100644
index 0000000..cc3e8fe
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/aggregate/stddev_pop_mixed/stddev_pop_mixed.3.ast
@@ -0,0 +1,22 @@
+Query:
+SELECT ELEMENT [
+FunctionCall asterix.stddev_pop@1[
+  (
+    SELECT ELEMENT [
+    Variable [ Name=$x ]
+    ]
+    FROM [      OrderedListConstructor [
+        FunctionCall null.float@1[
+          LiteralExpr [STRING] [2.0]
+        ]
+        LiteralExpr [STRING] [hello world]
+        LiteralExpr [LONG] [93847382783847382]
+        FunctionCall null.date@1[
+          LiteralExpr [STRING] [2013-01-01]
+        ]
+      ]
+      AS Variable [ Name=$x ]
+    ]
+  )
+]
+]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml b/asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml
index f235d54..2016ea4 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml
@@ -218,6 +218,18 @@
       </compilation-unit>
     </test-case>
     <test-case FilePath="aggregate">
+      <compilation-unit name="stddev_pop_mixed">
+        <output-dir compare="Text">stddev_pop_mixed</output-dir>
+        <expected-error>Type incompatibility: function agg-stddev_pop gets incompatible input values: string and float</expected-error>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="aggregate">
+      <compilation-unit name="serial_stddev_pop_mixed">
+        <output-dir compare="Text">serial_stddev_pop_mixed</output-dir>
+        <expected-error>Type incompatibility: function agg-stddev_pop gets incompatible input values: string and float</expected-error>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="aggregate">
       <compilation-unit name="agg_number">
         <output-dir compare="Text">agg_number</output-dir>
       </compilation-unit>
@@ -699,6 +711,11 @@
       </compilation-unit>
     </test-case>
     <test-case FilePath="aggregate">
+      <compilation-unit name="stddev_distinct">
+        <output-dir compare="Text">stddev_distinct</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="aggregate">
       <compilation-unit name="sum_double">
         <output-dir compare="Text">sum_double</output-dir>
       </compilation-unit>
@@ -841,6 +858,18 @@
       </compilation-unit>
     </test-case>
     <test-case FilePath="aggregate-sql">
+      <compilation-unit name="serial_stddev_pop_mixed">
+        <output-dir compare="Text">serial_stddev_pop_mixed</output-dir>
+        <expected-error>Invalid item type: function agg-stddev_pop cannot process item type string in an input array (or multiset)</expected-error>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="aggregate-sql">
+      <compilation-unit name="stddev_pop_mixed">
+        <output-dir compare="Text">stddev_pop_mixed</output-dir>
+        <expected-error>Type incompatibility: function agg-stddev_pop gets incompatible input values: string and float</expected-error>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="aggregate-sql">
       <compilation-unit name="agg_number">
         <output-dir compare="Text">agg_number</output-dir>
       </compilation-unit>
@@ -1251,6 +1280,11 @@
       </compilation-unit>
     </test-case>
     <test-case FilePath="aggregate-sql">
+      <compilation-unit name="stddev_distinct">
+        <output-dir compare="Text">stddev_distinct</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="aggregate-sql">
       <compilation-unit name="sum_double">
         <output-dir compare="Text">sum_double</output-dir>
       </compilation-unit>
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp_parser.xml b/asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp_parser.xml
index f1cf5bb..cd77828 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp_parser.xml
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp_parser.xml
@@ -134,6 +134,18 @@
       </compilation-unit>
     </test-case>
     <test-case FilePath="aggregate">
+      <compilation-unit name="stddev_pop_mixed">
+        <output-dir compare="AST">stddev_pop_mixed</output-dir>
+        <expected-error>org.apache.asterix.common.exceptions.AsterixException</expected-error>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="aggregate">
+      <compilation-unit name="serial_stddev_pop_mixed">
+        <output-dir compare="AST">serial_stddev_pop_mixed</output-dir>
+        <expected-error>org.apache.asterix.common.exceptions.AsterixException</expected-error>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="aggregate">
       <compilation-unit name="agg_number">
         <output-dir compare="AST">agg_number</output-dir>
       </compilation-unit>
@@ -525,8 +537,8 @@
       </compilation-unit>
     </test-case>
     <test-case FilePath="aggregate">
-      <compilation-unit name="serial_stddev_pop_int8_null">
-        <output-dir compare="AST">serial_stddev_pop_int8_null</output-dir>
+      <compilation-unit name="serial_stddev_int8_null">
+        <output-dir compare="AST">serial_stddev_int8_null</output-dir>
       </compilation-unit>
     </test-case>
     <test-case FilePath="aggregate">
@@ -737,6 +749,18 @@
       </compilation-unit>
     </test-case>
     <test-case FilePath="aggregate-sql">
+      <compilation-unit name="serial_stddev_pop_mixed">
+        <output-dir compare="AST">serial_stddev_pop_mixed</output-dir>
+        <expected-error>org.apache.asterix.common.exceptions.AsterixException</expected-error>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="aggregate-sql">
+      <compilation-unit name="stddev_pop_mixed">
+        <output-dir compare="AST">stddev_pop_mixed</output-dir>
+        <expected-error>org.apache.asterix.common.exceptions.AsterixException</expected-error>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="aggregate-sql">
       <compilation-unit name="agg_number">
         <output-dir compare="AST">agg_number</output-dir>
       </compilation-unit>
@@ -967,6 +991,21 @@
       </compilation-unit>
     </test-case>
     <test-case FilePath="aggregate-sql">
+      <compilation-unit name="scalar_stddev_pop">
+        <output-dir compare="AST">scalar_stddev_pop</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="aggregate-sql">
+      <compilation-unit name="scalar_stddev_pop_empty">
+        <output-dir compare="AST">scalar_stddev_pop_empty</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="aggregate-sql">
+      <compilation-unit name="scalar_stddev_pop_null">
+        <output-dir compare="AST">scalar_stddev_pop_null</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="aggregate-sql">
       <compilation-unit name="scalar_sum">
         <output-dir compare="AST">scalar_sum</output-dir>
       </compilation-unit>
@@ -1047,6 +1086,71 @@
       </compilation-unit>
     </test-case>
     <test-case FilePath="aggregate-sql">
+      <compilation-unit name="serial_stddev_pop_double">
+        <output-dir compare="AST">serial_stddev_pop_double</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="aggregate-sql">
+      <compilation-unit name="serial_stddev_pop_double_null">
+        <output-dir compare="AST">serial_stddev_pop_double_null</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="aggregate-sql">
+      <compilation-unit name="serial_stddev_pop_empty">
+        <output-dir compare="AST">serial_stddev_pop_empty</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="aggregate-sql">
+      <compilation-unit name="serial_stddev_pop_float">
+        <output-dir compare="AST">serial_stddev_pop_float</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="aggregate-sql">
+      <compilation-unit name="serial_stddev_pop_float_null">
+        <output-dir compare="AST">serial_stddev_pop_float_null</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="aggregate-sql">
+      <compilation-unit name="serial_stddev_pop_int16">
+        <output-dir compare="AST">serial_stddev_pop_int16</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="aggregate-sql">
+      <compilation-unit name="serial_stddev_pop_int16_null">
+        <output-dir compare="AST">serial_stddev_pop_int16_null</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="aggregate-sql">
+      <compilation-unit name="serial_stddev_pop_int32">
+        <output-dir compare="AST">serial_stddev_pop_int32</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="aggregate-sql">
+      <compilation-unit name="serial_stddev_pop_int32_null">
+        <output-dir compare="AST">serial_stddev_pop_int32_null</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="aggregate-sql">
+      <compilation-unit name="serial_stddev_pop_int64">
+        <output-dir compare="AST">serial_stddev_pop_int64</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="aggregate-sql">
+      <compilation-unit name="serial_stddev_pop_int64_null">
+        <output-dir compare="AST">serial_stddev_pop_int64_null</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="aggregate-sql">
+      <compilation-unit name="serial_stddev_pop_int8">
+        <output-dir compare="AST">serial_stddev_pop_int8</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="aggregate-sql">
+      <compilation-unit name="serial_stddev_pop_int8_null">
+        <output-dir compare="AST">serial_stddev_pop_int8_null</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="aggregate-sql">
       <compilation-unit name="stddev_double">
         <output-dir compare="AST">stddev_double</output-dir>
       </compilation-unit>
@@ -1117,6 +1221,76 @@
       </compilation-unit>
     </test-case>
     <test-case FilePath="aggregate-sql">
+      <compilation-unit name="stddev_pop_double">
+        <output-dir compare="AST">stddev_pop_double</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="aggregate-sql">
+      <compilation-unit name="stddev_pop_double_null">
+        <output-dir compare="AST">stddev_pop_double_null</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="aggregate-sql">
+      <compilation-unit name="stddev_pop_empty_01">
+        <output-dir compare="AST">stddev_pop_empty_01</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="aggregate-sql">
+      <compilation-unit name="stddev_pop_empty_02">
+        <output-dir compare="AST">stddev_pop_empty_02</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="aggregate-sql">
+      <compilation-unit name="stddev_pop_float">
+        <output-dir compare="AST">stddev_pop_float</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="aggregate-sql">
+      <compilation-unit name="stddev_pop_float_null">
+        <output-dir compare="AST">stddev_pop_float_null</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="aggregate-sql">
+      <compilation-unit name="stddev_pop_int16">
+        <output-dir compare="AST">stddev_pop_int16</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="aggregate-sql">
+      <compilation-unit name="stddev_pop_int16_null">
+        <output-dir compare="AST">stddev_pop_int16_null</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="aggregate-sql">
+      <compilation-unit name="stddev_pop_int32">
+        <output-dir compare="AST">stddev_pop_int32</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="aggregate-sql">
+      <compilation-unit name="stddev_pop_int32_null">
+        <output-dir compare="AST">stddev_pop_int32_null</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="aggregate-sql">
+      <compilation-unit name="stddev_pop_int64">
+        <output-dir compare="AST">stddev_pop_int64</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="aggregate-sql">
+      <compilation-unit name="stddev_pop_int64_null">
+        <output-dir compare="AST">stddev_pop_int64_null</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="aggregate-sql">
+      <compilation-unit name="stddev_pop_int8">
+        <output-dir compare="AST">stddev_pop_int8</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="aggregate-sql">
+      <compilation-unit name="stddev_pop_int8_null">
+        <output-dir compare="AST">stddev_pop_int8_null</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="aggregate-sql">
       <compilation-unit name="sum_double">
         <output-dir compare="AST">sum_double</output-dir>
       </compilation-unit>
diff --git a/asterixdb/asterix-doc/src/main/markdown/builtins/9_aggregate_sql.md b/asterixdb/asterix-doc/src/main/markdown/builtins/9_aggregate_sql.md
index 2036bc4..e9a5739 100644
--- a/asterixdb/asterix-doc/src/main/markdown/builtins/9_aggregate_sql.md
+++ b/asterixdb/asterix-doc/src/main/markdown/builtins/9_aggregate_sql.md
@@ -195,6 +195,32 @@
 
         1.4591664287073858
 
+### array_stddev_pop ###
+
+ * Syntax:
+
+        array_stddev_pop(num_collection)
+
+ * Gets the standard deviation value of the non-null and non-missing numeric items in the given collection.
+ * Arguments:
+    * `num_collection` could be:
+        * an `array` or `multiset` containing numeric values, `null`s or `missing`s,
+        * or, a `null` value,
+        * or, a `missing` value.
+ * Return Value:
+    * a `double` value representing the average of the non-null and non-missing numbers in the given collection,
+    * `null` is returned if the input is `null` or `missing`,
+    * `null` is returned if the given collection does not contain any non-null and non-missing items,
+    * any other non-array and non-multiset input value will cause a type error,
+    * any other non-numeric value in the input collection will cause a type error.
+
+ * Example:
+
+        array_stddev_pop( [1.2, 2.3, 3.4, 0, null] );
+
+ * The expected result is:
+
+        1.2636751956100112
 
 ### strict_count ###
  * Syntax:
@@ -352,3 +378,28 @@
  * The expected result is:
 
         100.0
+
+### strict_stddev_pop ###
+ * Syntax:
+
+        strict_stddev_pop(num_collection)
+
+ * Gets the standard deviation value of the numeric items in the given collection.
+ * Arguments:
+    * `num_collection` could be:
+        * an `array` or `multiset` containing numeric values, `null`s or `missing`s,
+        * or, a `null` value,
+        * or, a `missing` value.
+ * Return Value:
+    * a `double` value representing the average of the numbers in the given collection,
+    * `null` is returned if the input is `null` or `missing`,
+    * `null` is returned if there is a `null` or `missing` in the input collection,
+    * any other non-numeric value in the input collection will cause a type error.
+
+ * Example:
+
+        strict_stddev_pop( [100, 200, 300] );
+
+ * The expected result is:
+
+        81.64965809277261
diff --git a/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/BuiltinFunctions.java b/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/BuiltinFunctions.java
index 1ff6e57..4813be9 100644
--- a/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/BuiltinFunctions.java
+++ b/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/BuiltinFunctions.java
@@ -482,6 +482,14 @@
             new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-local-sampling", FunctionIdentifier.VARARGS);
     public static final FunctionIdentifier RANGE_MAP =
             new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-range-map", 1);
+    public static final FunctionIdentifier STDDEV_POP =
+            new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-stddev_pop", 1);
+    public static final FunctionIdentifier GLOBAL_STDDEV_POP =
+            new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-global-stddev_pop", 1);
+    public static final FunctionIdentifier INTERMEDIATE_STDDEV_POP =
+            new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-intermediate-stddev_pop", 1);
+    public static final FunctionIdentifier LOCAL_STDDEV_POP =
+            new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-local-stddev_pop", 1);
 
     public static final FunctionIdentifier SCALAR_AVG = new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "avg", 1);
     public static final FunctionIdentifier SCALAR_COUNT =
@@ -501,6 +509,12 @@
             new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "global-stddev", 1);
     public static final FunctionIdentifier SCALAR_LOCAL_STDDEV =
             new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "local-stddev", 1);
+    public static final FunctionIdentifier SCALAR_STDDEV_POP =
+            new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "stddev_pop", 1);
+    public static final FunctionIdentifier SCALAR_GLOBAL_STDDEV_POP =
+            new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "global-stddev_pop", 1);
+    public static final FunctionIdentifier SCALAR_LOCAL_STDDEV_POP =
+            new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "local-stddev_pop", 1);
 
     // serializable aggregate functions
     public static final FunctionIdentifier SERIAL_AVG =
@@ -525,6 +539,14 @@
             new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "local-stddev-serial", 1);
     public static final FunctionIdentifier SERIAL_INTERMEDIATE_STDDEV =
             new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "intermediate-stddev-serial", 1);
+    public static final FunctionIdentifier SERIAL_STDDEV_POP =
+            new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "stddev_pop-serial", 1);
+    public static final FunctionIdentifier SERIAL_GLOBAL_STDDEV_POP =
+            new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "global-stddev_pop-serial", 1);
+    public static final FunctionIdentifier SERIAL_LOCAL_STDDEV_POP =
+            new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "local-stddev_pop-serial", 1);
+    public static final FunctionIdentifier SERIAL_INTERMEDIATE_STDDEV_POP =
+            new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "intermediate-stddev_pop-serial", 1);
 
     // distinct aggregate functions
     public static final FunctionIdentifier COUNT_DISTINCT =
@@ -547,6 +569,14 @@
             new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-min-distinct", 1);
     public static final FunctionIdentifier SCALAR_MIN_DISTINCT =
             new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "min-distinct", 1);
+    public static final FunctionIdentifier STDDEV_DISTINCT =
+            new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-stddev-distinct", 1);
+    public static final FunctionIdentifier SCALAR_STDDEV_DISTINCT =
+            new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "stddev-distinct", 1);
+    public static final FunctionIdentifier STDDEV_POP_DISTINCT =
+            new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-stddev_pop-distinct", 1);
+    public static final FunctionIdentifier SCALAR_STDDEV_POP_DISTINCT =
+            new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "stddev_pop-distinct", 1);
 
     // sql aggregate functions
     public static final FunctionIdentifier SQL_AVG =
@@ -579,6 +609,14 @@
             new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-global-sql-stddev", 1);
     public static final FunctionIdentifier LOCAL_SQL_STDDEV =
             new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-local-sql-stddev", 1);
+    public static final FunctionIdentifier SQL_STDDEV_POP =
+            new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-sql-stddev_pop", 1);
+    public static final FunctionIdentifier INTERMEDIATE_SQL_STDDEV_POP =
+            new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "intermediate-agg-sql-stddev_pop", 1);
+    public static final FunctionIdentifier GLOBAL_SQL_STDDEV_POP =
+            new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-global-sql-stddev_pop", 1);
+    public static final FunctionIdentifier LOCAL_SQL_STDDEV_POP =
+            new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-local-sql-stddev_pop", 1);
 
     public static final FunctionIdentifier SCALAR_SQL_AVG =
             new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "sql-avg", 1);
@@ -600,6 +638,12 @@
             new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "global-sql-stddev", 1);
     public static final FunctionIdentifier SCALAR_LOCAL_SQL_STDDEV =
             new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "local-sql-stddev", 1);
+    public static final FunctionIdentifier SCALAR_SQL_STDDEV_POP =
+            new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "sql-stddev_pop", 1);
+    public static final FunctionIdentifier SCALAR_GLOBAL_SQL_STDDEV_POP =
+            new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "global-sql-stddev_pop", 1);
+    public static final FunctionIdentifier SCALAR_LOCAL_SQL_STDDEV_POP =
+            new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "local-sql-stddev_pop", 1);
 
     // serializable sql aggregate functions
     public static final FunctionIdentifier SERIAL_SQL_AVG =
@@ -624,6 +668,14 @@
             new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "intermediate-sql-stddev-serial", 1);
     public static final FunctionIdentifier SERIAL_LOCAL_SQL_STDDEV =
             new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "local-sql-stddev-serial", 1);
+    public static final FunctionIdentifier SERIAL_SQL_STDDEV_POP =
+            new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "sql-stddev_pop-serial", 1);
+    public static final FunctionIdentifier SERIAL_GLOBAL_SQL_STDDEV_POP =
+            new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "global-sql-stddev_pop-serial", 1);
+    public static final FunctionIdentifier SERIAL_INTERMEDIATE_SQL_STDDEV_POP =
+            new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "intermediate-sql-stddev_pop-serial", 1);
+    public static final FunctionIdentifier SERIAL_LOCAL_SQL_STDDEV_POP =
+            new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "local-sql-stddev_pop-serial", 1);
 
     // distinct sql aggregate functions
     public static final FunctionIdentifier SQL_COUNT_DISTINCT =
@@ -646,6 +698,14 @@
             new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-sql-min-distinct", 1);
     public static final FunctionIdentifier SCALAR_SQL_MIN_DISTINCT =
             new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "sql-min-distinct", 1);
+    public static final FunctionIdentifier SQL_STDDEV_DISTINCT =
+            new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-sql-stddev-distinct", 1);
+    public static final FunctionIdentifier SCALAR_SQL_STDDEV_DISTINCT =
+            new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "sql-stddev-distinct", 1);
+    public static final FunctionIdentifier SQL_STDDEV_POP_DISTINCT =
+            new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "agg-sql-stddev_pop-distinct", 1);
+    public static final FunctionIdentifier SCALAR_SQL_STDDEV_POP_DISTINCT =
+            new FunctionIdentifier(FunctionConstants.ASTERIX_NS, "sql-stddev_pop-distinct", 1);
 
     // unnesting functions
     public static final FunctionIdentifier SCAN_COLLECTION =
@@ -1388,6 +1448,9 @@
         addPrivateFunction(GLOBAL_STDDEV, NullableDoubleTypeComputer.INSTANCE, true);
         addPrivateFunction(LOCAL_SAMPLING, ListOfSamplesTypeComputer.INSTANCE, true);
         addPrivateFunction(RANGE_MAP, ABinaryTypeComputer.INSTANCE, true);
+        addPrivateFunction(LOCAL_STDDEV_POP, LocalSingleVarStatisticsTypeComputer.INSTANCE, true);
+        addFunction(STDDEV_POP, NullableDoubleTypeComputer.INSTANCE, true);
+        addPrivateFunction(GLOBAL_STDDEV_POP, NullableDoubleTypeComputer.INSTANCE, true);
 
         addPrivateFunction(SERIAL_SQL_AVG, NullableDoubleTypeComputer.INSTANCE, true);
         addPrivateFunction(SERIAL_SQL_COUNT, AInt64TypeComputer.INSTANCE, true);
@@ -1412,6 +1475,14 @@
         addPrivateFunction(SERIAL_GLOBAL_SQL_STDDEV, NullableDoubleTypeComputer.INSTANCE, true);
         addPrivateFunction(SERIAL_LOCAL_SQL_STDDEV, LocalSingleVarStatisticsTypeComputer.INSTANCE, true);
         addPrivateFunction(SERIAL_INTERMEDIATE_SQL_STDDEV, LocalSingleVarStatisticsTypeComputer.INSTANCE, true);
+        addFunction(SCALAR_STDDEV_POP, NullableDoubleTypeComputer.INSTANCE, true);
+        addPrivateFunction(SCALAR_GLOBAL_STDDEV_POP, NullableDoubleTypeComputer.INSTANCE, true);
+        addPrivateFunction(SCALAR_LOCAL_STDDEV_POP, NullableDoubleTypeComputer.INSTANCE, true);
+        addPrivateFunction(INTERMEDIATE_STDDEV_POP, LocalSingleVarStatisticsTypeComputer.INSTANCE, true);
+        addPrivateFunction(SERIAL_SQL_STDDEV_POP, NullableDoubleTypeComputer.INSTANCE, true);
+        addPrivateFunction(SERIAL_GLOBAL_SQL_STDDEV_POP, NullableDoubleTypeComputer.INSTANCE, true);
+        addPrivateFunction(SERIAL_LOCAL_SQL_STDDEV_POP, LocalSingleVarStatisticsTypeComputer.INSTANCE, true);
+        addPrivateFunction(SERIAL_INTERMEDIATE_SQL_STDDEV_POP, LocalSingleVarStatisticsTypeComputer.INSTANCE, true);
 
         addFunction(SQL_AVG, NullableDoubleTypeComputer.INSTANCE, true);
         addPrivateFunction(GLOBAL_SQL_AVG, NullableDoubleTypeComputer.INSTANCE, true);
@@ -1439,6 +1510,13 @@
         addFunction(SCALAR_SQL_STDDEV, NullableDoubleTypeComputer.INSTANCE, true);
         addPrivateFunction(SCALAR_GLOBAL_SQL_STDDEV, NullableDoubleTypeComputer.INSTANCE, true);
         addPrivateFunction(SCALAR_LOCAL_SQL_STDDEV, NullableDoubleTypeComputer.INSTANCE, true);
+        addFunction(SQL_STDDEV_POP, NullableDoubleTypeComputer.INSTANCE, true);
+        addPrivateFunction(GLOBAL_SQL_STDDEV_POP, NullableDoubleTypeComputer.INSTANCE, true);
+        addPrivateFunction(LOCAL_SQL_STDDEV_POP, LocalSingleVarStatisticsTypeComputer.INSTANCE, true);
+        addPrivateFunction(INTERMEDIATE_SQL_STDDEV_POP, LocalSingleVarStatisticsTypeComputer.INSTANCE, true);
+        addFunction(SCALAR_SQL_STDDEV_POP, NullableDoubleTypeComputer.INSTANCE, true);
+        addPrivateFunction(SCALAR_GLOBAL_SQL_STDDEV_POP, NullableDoubleTypeComputer.INSTANCE, true);
+        addPrivateFunction(SCALAR_LOCAL_SQL_STDDEV_POP, NullableDoubleTypeComputer.INSTANCE, true);
 
         addPrivateFunction(SERIAL_AVG, NullableDoubleTypeComputer.INSTANCE, true);
         addPrivateFunction(SERIAL_COUNT, AInt64TypeComputer.INSTANCE, true);
@@ -1451,6 +1529,10 @@
         addPrivateFunction(SERIAL_GLOBAL_STDDEV, NullableDoubleTypeComputer.INSTANCE, true);
         addPrivateFunction(SERIAL_LOCAL_STDDEV, LocalSingleVarStatisticsTypeComputer.INSTANCE, true);
         addPrivateFunction(SERIAL_INTERMEDIATE_STDDEV, LocalSingleVarStatisticsTypeComputer.INSTANCE, true);
+        addPrivateFunction(SERIAL_STDDEV_POP, NullableDoubleTypeComputer.INSTANCE, true);
+        addPrivateFunction(SERIAL_GLOBAL_STDDEV_POP, NullableDoubleTypeComputer.INSTANCE, true);
+        addPrivateFunction(SERIAL_LOCAL_STDDEV_POP, LocalSingleVarStatisticsTypeComputer.INSTANCE, true);
+        addPrivateFunction(SERIAL_INTERMEDIATE_STDDEV_POP, LocalSingleVarStatisticsTypeComputer.INSTANCE, true);
 
         // Distinct aggregate functions
 
@@ -1479,6 +1561,16 @@
         addFunction(SQL_MIN_DISTINCT, MinMaxAggTypeComputer.INSTANCE, true);
         addFunction(SCALAR_SQL_MIN_DISTINCT, ScalarVersionOfAggregateResultType.INSTANCE, true);
 
+        addFunction(STDDEV_DISTINCT, NullableDoubleTypeComputer.INSTANCE, true);
+        addFunction(SCALAR_STDDEV_DISTINCT, NullableDoubleTypeComputer.INSTANCE, true);
+        addFunction(SQL_STDDEV_DISTINCT, NullableDoubleTypeComputer.INSTANCE, true);
+        addFunction(SCALAR_SQL_STDDEV_DISTINCT, NullableDoubleTypeComputer.INSTANCE, true);
+
+        addFunction(STDDEV_POP_DISTINCT, NullableDoubleTypeComputer.INSTANCE, true);
+        addFunction(SCALAR_STDDEV_POP_DISTINCT, NullableDoubleTypeComputer.INSTANCE, true);
+        addFunction(SQL_STDDEV_POP_DISTINCT, NullableDoubleTypeComputer.INSTANCE, true);
+        addFunction(SCALAR_SQL_STDDEV_POP_DISTINCT, NullableDoubleTypeComputer.INSTANCE, true);
+
         // Similarity functions
         addFunction(EDIT_DISTANCE_CONTAINS, OrderedListOfAnyTypeComputer.INSTANCE, true);
         addFunction(SIMILARITY_JACCARD, AFloatTypeComputer.INSTANCE, true);
@@ -1828,6 +1920,43 @@
         addIntermediateAgg(SERIAL_GLOBAL_STDDEV, SERIAL_INTERMEDIATE_STDDEV);
         addGlobalAgg(SERIAL_STDDEV, SERIAL_GLOBAL_STDDEV);
 
+        // STDDEV DISTINCT
+
+        addDistinctAgg(STDDEV_DISTINCT, SCALAR_STDDEV);
+        addScalarAgg(STDDEV_DISTINCT, SCALAR_STDDEV_DISTINCT);
+
+        // STDDEV_POP
+
+        addAgg(STDDEV_POP);
+        addAgg(LOCAL_STDDEV_POP);
+        addAgg(GLOBAL_STDDEV_POP);
+        addLocalAgg(STDDEV_POP, LOCAL_STDDEV_POP);
+        addIntermediateAgg(STDDEV_POP, INTERMEDIATE_STDDEV_POP);
+        addIntermediateAgg(LOCAL_STDDEV_POP, INTERMEDIATE_STDDEV_POP);
+        addIntermediateAgg(GLOBAL_STDDEV_POP, INTERMEDIATE_STDDEV_POP);
+        addGlobalAgg(STDDEV_POP, GLOBAL_STDDEV_POP);
+
+        addScalarAgg(STDDEV_POP, SCALAR_STDDEV_POP);
+        addScalarAgg(GLOBAL_STDDEV_POP, SCALAR_GLOBAL_STDDEV_POP);
+        addScalarAgg(LOCAL_STDDEV_POP, SCALAR_LOCAL_STDDEV_POP);
+
+        addSerialAgg(STDDEV_POP, SERIAL_STDDEV_POP);
+        addSerialAgg(LOCAL_STDDEV_POP, SERIAL_LOCAL_STDDEV_POP);
+        addSerialAgg(GLOBAL_STDDEV_POP, SERIAL_GLOBAL_STDDEV_POP);
+        addAgg(SERIAL_STDDEV_POP);
+        addAgg(SERIAL_LOCAL_STDDEV_POP);
+        addAgg(SERIAL_GLOBAL_STDDEV_POP);
+        addLocalAgg(SERIAL_STDDEV_POP, SERIAL_LOCAL_STDDEV_POP);
+        addIntermediateAgg(SERIAL_STDDEV_POP, SERIAL_INTERMEDIATE_STDDEV_POP);
+        addIntermediateAgg(SERIAL_LOCAL_STDDEV_POP, SERIAL_INTERMEDIATE_STDDEV_POP);
+        addIntermediateAgg(SERIAL_GLOBAL_STDDEV_POP, SERIAL_INTERMEDIATE_STDDEV_POP);
+        addGlobalAgg(SERIAL_STDDEV_POP, SERIAL_GLOBAL_STDDEV_POP);
+
+        // STDDEV_POP DISTINCT
+
+        addDistinctAgg(STDDEV_POP_DISTINCT, SCALAR_STDDEV_POP);
+        addScalarAgg(STDDEV_POP_DISTINCT, SCALAR_STDDEV_POP_DISTINCT);
+
         // FIRST_ELEMENT
 
         addAgg(SCALAR_FIRST_ELEMENT);
@@ -1947,11 +2076,48 @@
         addIntermediateAgg(SERIAL_GLOBAL_SQL_STDDEV, SERIAL_INTERMEDIATE_SQL_STDDEV);
         addGlobalAgg(SERIAL_SQL_STDDEV, SERIAL_GLOBAL_SQL_STDDEV);
 
+        // SQL STDDEV_POP
+
+        addAgg(SQL_STDDEV_POP);
+        addAgg(LOCAL_SQL_STDDEV_POP);
+        addAgg(GLOBAL_SQL_STDDEV_POP);
+        addLocalAgg(SQL_STDDEV_POP, LOCAL_SQL_STDDEV_POP);
+        addIntermediateAgg(SQL_STDDEV_POP, INTERMEDIATE_SQL_STDDEV_POP);
+        addIntermediateAgg(LOCAL_SQL_STDDEV_POP, INTERMEDIATE_SQL_STDDEV_POP);
+        addIntermediateAgg(GLOBAL_SQL_STDDEV_POP, INTERMEDIATE_SQL_STDDEV_POP);
+        addGlobalAgg(SQL_STDDEV_POP, GLOBAL_SQL_STDDEV_POP);
+
+        addScalarAgg(SQL_STDDEV_POP, SCALAR_SQL_STDDEV_POP);
+        addScalarAgg(GLOBAL_SQL_STDDEV_POP, SCALAR_GLOBAL_SQL_STDDEV_POP);
+        addScalarAgg(LOCAL_SQL_STDDEV_POP, SCALAR_LOCAL_SQL_STDDEV_POP);
+
+        addSerialAgg(SQL_STDDEV_POP, SERIAL_SQL_STDDEV_POP);
+        addSerialAgg(LOCAL_SQL_STDDEV_POP, SERIAL_LOCAL_SQL_STDDEV_POP);
+        addSerialAgg(GLOBAL_SQL_STDDEV_POP, SERIAL_GLOBAL_SQL_STDDEV_POP);
+        addAgg(SERIAL_SQL_STDDEV_POP);
+        addAgg(SERIAL_LOCAL_SQL_STDDEV_POP);
+        addAgg(SERIAL_GLOBAL_SQL_STDDEV_POP);
+        addLocalAgg(SERIAL_SQL_STDDEV_POP, SERIAL_LOCAL_SQL_STDDEV_POP);
+        addIntermediateAgg(SERIAL_SQL_STDDEV_POP, SERIAL_INTERMEDIATE_SQL_STDDEV_POP);
+        addIntermediateAgg(SERIAL_LOCAL_SQL_STDDEV_POP, SERIAL_INTERMEDIATE_SQL_STDDEV_POP);
+        addIntermediateAgg(SERIAL_GLOBAL_SQL_STDDEV_POP, SERIAL_INTERMEDIATE_SQL_STDDEV_POP);
+        addGlobalAgg(SERIAL_SQL_STDDEV_POP, SERIAL_GLOBAL_SQL_STDDEV_POP);
+
         // SQL AVG DISTINCT
 
         addDistinctAgg(SQL_AVG_DISTINCT, SCALAR_SQL_AVG);
         addScalarAgg(SQL_AVG_DISTINCT, SCALAR_SQL_AVG_DISTINCT);
 
+        // SQL STDDEV DISTINCT
+
+        addDistinctAgg(SQL_STDDEV_DISTINCT, SCALAR_SQL_STDDEV);
+        addScalarAgg(SQL_STDDEV_DISTINCT, SCALAR_SQL_STDDEV_DISTINCT);
+
+        // SQL STDDEV_POP DISTINCT
+
+        addDistinctAgg(SQL_STDDEV_POP_DISTINCT, SCALAR_SQL_STDDEV_POP);
+        addScalarAgg(SQL_STDDEV_POP_DISTINCT, SCALAR_SQL_STDDEV_POP_DISTINCT);
+
         // SQL COUNT
 
         addAgg(SQL_COUNT);
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/scalar/ScalarSqlStddevPopAggregateDescriptor.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/scalar/ScalarSqlStddevPopAggregateDescriptor.java
new file mode 100644
index 0000000..b880222
--- /dev/null
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/scalar/ScalarSqlStddevPopAggregateDescriptor.java
@@ -0,0 +1,49 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.asterix.runtime.aggregates.scalar;
+
+import org.apache.asterix.om.functions.BuiltinFunctions;
+import org.apache.asterix.om.functions.IFunctionDescriptor;
+import org.apache.asterix.om.functions.IFunctionDescriptorFactory;
+import org.apache.asterix.runtime.aggregates.std.SqlStddevPopAggregateDescriptor;
+import org.apache.hyracks.algebricks.core.algebra.functions.FunctionIdentifier;
+
+public class ScalarSqlStddevPopAggregateDescriptor extends AbstractScalarAggregateDescriptor {
+
+    private static final long serialVersionUID = 1L;
+
+    public final static FunctionIdentifier FID = BuiltinFunctions.SCALAR_SQL_STDDEV_POP;
+
+    public static final IFunctionDescriptorFactory FACTORY = new IFunctionDescriptorFactory() {
+        @Override
+        public IFunctionDescriptor createFunctionDescriptor() {
+            return new ScalarSqlStddevPopAggregateDescriptor(
+                    SqlStddevPopAggregateDescriptor.FACTORY.createFunctionDescriptor());
+        }
+    };
+
+    private ScalarSqlStddevPopAggregateDescriptor(IFunctionDescriptor aggFuncDesc) {
+        super(aggFuncDesc);
+    }
+
+    @Override
+    public FunctionIdentifier getIdentifier() {
+        return FID;
+    }
+}
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/scalar/ScalarStddevPopAggregateDescriptor.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/scalar/ScalarStddevPopAggregateDescriptor.java
new file mode 100644
index 0000000..2a566a8
--- /dev/null
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/scalar/ScalarStddevPopAggregateDescriptor.java
@@ -0,0 +1,49 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.asterix.runtime.aggregates.scalar;
+
+import org.apache.asterix.om.functions.BuiltinFunctions;
+import org.apache.asterix.om.functions.IFunctionDescriptor;
+import org.apache.asterix.om.functions.IFunctionDescriptorFactory;
+import org.apache.asterix.runtime.aggregates.std.StddevPopAggregateDescriptor;
+import org.apache.hyracks.algebricks.core.algebra.functions.FunctionIdentifier;
+
+public class ScalarStddevPopAggregateDescriptor extends AbstractScalarAggregateDescriptor {
+
+    private static final long serialVersionUID = 1L;
+
+    public final static FunctionIdentifier FID = BuiltinFunctions.SCALAR_STDDEV_POP;
+
+    public static final IFunctionDescriptorFactory FACTORY = new IFunctionDescriptorFactory() {
+        @Override
+        public IFunctionDescriptor createFunctionDescriptor() {
+            return new ScalarStddevPopAggregateDescriptor(
+                    StddevPopAggregateDescriptor.FACTORY.createFunctionDescriptor());
+        }
+    };
+
+    private ScalarStddevPopAggregateDescriptor(IFunctionDescriptor aggFuncDesc) {
+        super(aggFuncDesc);
+    }
+
+    @Override
+    public FunctionIdentifier getIdentifier() {
+        return FID;
+    }
+}
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/serializable/std/AbstractSerializableSingleVariableStatisticsAggregateFunction.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/serializable/std/AbstractSerializableSingleVariableStatisticsAggregateFunction.java
index 0b16b68..d537043 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/serializable/std/AbstractSerializableSingleVariableStatisticsAggregateFunction.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/serializable/std/AbstractSerializableSingleVariableStatisticsAggregateFunction.java
@@ -272,7 +272,7 @@
         }
     }
 
-    protected void finishStddevFinalResults(byte[] state, int start, int len, DataOutput result)
+    protected void finishStddevFinalResults(byte[] state, int start, int len, DataOutput result, int delta)
             throws HyracksDataException {
         double m2 = BufferSerDeUtil.getDouble(state, start + M2_OFFSET);
         long count = BufferSerDeUtil.getLong(state, start + COUNT_OFFSET);
@@ -281,7 +281,7 @@
             if (count <= 1 || aggType == ATypeTag.NULL) {
                 nullSerde.serialize(ANull.NULL, result);
             } else {
-                aDouble.setValue(Math.sqrt(m2 / (count - 1)));
+                aDouble.setValue(Math.sqrt(m2 / (count - delta)));
                 doubleSerde.serialize(aDouble, result);
             }
         } catch (IOException e) {
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/serializable/std/SerializableGlobalSqlStddevAggregateDescriptor.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/serializable/std/SerializableGlobalSqlStddevAggregateDescriptor.java
index d06c6aa..b3270d9 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/serializable/std/SerializableGlobalSqlStddevAggregateDescriptor.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/serializable/std/SerializableGlobalSqlStddevAggregateDescriptor.java
@@ -55,7 +55,7 @@
             @Override
             public ISerializedAggregateEvaluator createAggregateEvaluator(IHyracksTaskContext ctx)
                     throws HyracksDataException {
-                return new SerializableGlobalSqlStddevAggregateFunction(args, ctx, sourceLoc);
+                return new SerializableGlobalSqlStddevAggregateFunction(args, ctx, false, sourceLoc);
             }
         };
     }
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/serializable/std/SerializableGlobalSqlStddevAggregateFunction.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/serializable/std/SerializableGlobalSqlStddevAggregateFunction.java
index 1be87f6..8bfd405 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/serializable/std/SerializableGlobalSqlStddevAggregateFunction.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/serializable/std/SerializableGlobalSqlStddevAggregateFunction.java
@@ -32,9 +32,18 @@
 public class SerializableGlobalSqlStddevAggregateFunction
         extends AbstractSerializableSingleVariableStatisticsAggregateFunction {
 
+    private final boolean isPop;
+    private final int delta;
+
     public SerializableGlobalSqlStddevAggregateFunction(IScalarEvaluatorFactory[] args, IHyracksTaskContext context,
-            SourceLocation sourceLoc) throws HyracksDataException {
+            boolean isPop, SourceLocation sourceLoc) throws HyracksDataException {
         super(args, context, sourceLoc);
+        this.isPop = isPop;
+        if (isPop) {
+            delta = 0;
+        } else {
+            delta = 1;
+        }
     }
 
     @Override
@@ -44,7 +53,7 @@
 
     @Override
     public void finish(byte[] state, int start, int len, DataOutput result) throws HyracksDataException {
-        finishStddevFinalResults(state, start, len, result);
+        finishStddevFinalResults(state, start, len, result, delta);
     }
 
     @Override
@@ -58,7 +67,11 @@
 
     @Override
     protected FunctionIdentifier getFunctionIdentifier() {
-        return BuiltinFunctions.STDDEV;
+        if (isPop) {
+            return BuiltinFunctions.STDDEV_POP;
+        } else {
+            return BuiltinFunctions.STDDEV;
+        }
     }
 
 }
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/serializable/std/SerializableGlobalSqlStddevPopAggregateDescriptor.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/serializable/std/SerializableGlobalSqlStddevPopAggregateDescriptor.java
new file mode 100644
index 0000000..1c080e2
--- /dev/null
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/serializable/std/SerializableGlobalSqlStddevPopAggregateDescriptor.java
@@ -0,0 +1,63 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.asterix.runtime.aggregates.serializable.std;
+
+import org.apache.asterix.om.functions.BuiltinFunctions;
+import org.apache.asterix.om.functions.IFunctionDescriptor;
+import org.apache.asterix.om.functions.IFunctionDescriptorFactory;
+import org.apache.asterix.runtime.aggregates.base.AbstractSerializableAggregateFunctionDynamicDescriptor;
+import org.apache.hyracks.algebricks.core.algebra.functions.FunctionIdentifier;
+import org.apache.hyracks.algebricks.runtime.base.IScalarEvaluatorFactory;
+import org.apache.hyracks.algebricks.runtime.base.ISerializedAggregateEvaluator;
+import org.apache.hyracks.algebricks.runtime.base.ISerializedAggregateEvaluatorFactory;
+import org.apache.hyracks.api.context.IHyracksTaskContext;
+import org.apache.hyracks.api.exceptions.HyracksDataException;
+
+public class SerializableGlobalSqlStddevPopAggregateDescriptor
+        extends AbstractSerializableAggregateFunctionDynamicDescriptor {
+
+    private static final long serialVersionUID = 1L;
+    public static final IFunctionDescriptorFactory FACTORY = new IFunctionDescriptorFactory() {
+        @Override
+        public IFunctionDescriptor createFunctionDescriptor() {
+            return new SerializableGlobalSqlStddevPopAggregateDescriptor();
+        }
+    };
+
+    @Override
+    public FunctionIdentifier getIdentifier() {
+        return BuiltinFunctions.SERIAL_GLOBAL_SQL_STDDEV_POP;
+    }
+
+    @Override
+    public ISerializedAggregateEvaluatorFactory createSerializableAggregateEvaluatorFactory(
+            final IScalarEvaluatorFactory[] args) {
+        return new ISerializedAggregateEvaluatorFactory() {
+            private static final long serialVersionUID = 1L;
+
+            @Override
+            public ISerializedAggregateEvaluator createAggregateEvaluator(IHyracksTaskContext ctx)
+                    throws HyracksDataException {
+                return new SerializableGlobalSqlStddevAggregateFunction(args, ctx, true, sourceLoc);
+            }
+        };
+    }
+
+}
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/serializable/std/SerializableGlobalStddevAggregateDescriptor.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/serializable/std/SerializableGlobalStddevAggregateDescriptor.java
index f17ef2f..ae78504 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/serializable/std/SerializableGlobalStddevAggregateDescriptor.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/serializable/std/SerializableGlobalStddevAggregateDescriptor.java
@@ -55,7 +55,7 @@
             @Override
             public ISerializedAggregateEvaluator createAggregateEvaluator(IHyracksTaskContext ctx)
                     throws HyracksDataException {
-                return new SerializableGlobalStddevAggregateFunction(args, ctx, sourceLoc);
+                return new SerializableGlobalStddevAggregateFunction(args, ctx, false, sourceLoc);
             }
         };
     }
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/serializable/std/SerializableGlobalStddevAggregateFunction.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/serializable/std/SerializableGlobalStddevAggregateFunction.java
index b15cffd..b83762d 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/serializable/std/SerializableGlobalStddevAggregateFunction.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/serializable/std/SerializableGlobalStddevAggregateFunction.java
@@ -34,9 +34,18 @@
 public class SerializableGlobalStddevAggregateFunction
         extends AbstractSerializableSingleVariableStatisticsAggregateFunction {
 
+    private final boolean isPop;
+    private final int delta;
+
     public SerializableGlobalStddevAggregateFunction(IScalarEvaluatorFactory[] args, IHyracksTaskContext context,
-            SourceLocation sourceLoc) throws HyracksDataException {
+            boolean isPop, SourceLocation sourceLoc) throws HyracksDataException {
         super(args, context, sourceLoc);
+        this.isPop = isPop;
+        if (isPop) {
+            delta = 0;
+        } else {
+            delta = 1;
+        }
     }
 
     @Override
@@ -46,7 +55,7 @@
 
     @Override
     public void finish(byte[] state, int start, int len, DataOutput result) throws HyracksDataException {
-        finishStddevFinalResults(state, start, len, result);
+        finishStddevFinalResults(state, start, len, result, delta);
     }
 
     @Override
@@ -67,7 +76,11 @@
 
     @Override
     protected FunctionIdentifier getFunctionIdentifier() {
-        return BuiltinFunctions.STDDEV;
+        if (isPop) {
+            return BuiltinFunctions.STDDEV_POP;
+        } else {
+            return BuiltinFunctions.STDDEV;
+        }
     }
 
 }
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/serializable/std/SerializableGlobalStddevPopAggregateDescriptor.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/serializable/std/SerializableGlobalStddevPopAggregateDescriptor.java
new file mode 100644
index 0000000..b40ff5c
--- /dev/null
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/serializable/std/SerializableGlobalStddevPopAggregateDescriptor.java
@@ -0,0 +1,63 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.asterix.runtime.aggregates.serializable.std;
+
+import org.apache.asterix.om.functions.BuiltinFunctions;
+import org.apache.asterix.om.functions.IFunctionDescriptor;
+import org.apache.asterix.om.functions.IFunctionDescriptorFactory;
+import org.apache.asterix.runtime.aggregates.base.AbstractSerializableAggregateFunctionDynamicDescriptor;
+import org.apache.hyracks.algebricks.core.algebra.functions.FunctionIdentifier;
+import org.apache.hyracks.algebricks.runtime.base.IScalarEvaluatorFactory;
+import org.apache.hyracks.algebricks.runtime.base.ISerializedAggregateEvaluator;
+import org.apache.hyracks.algebricks.runtime.base.ISerializedAggregateEvaluatorFactory;
+import org.apache.hyracks.api.context.IHyracksTaskContext;
+import org.apache.hyracks.api.exceptions.HyracksDataException;
+
+public class SerializableGlobalStddevPopAggregateDescriptor
+        extends AbstractSerializableAggregateFunctionDynamicDescriptor {
+
+    private static final long serialVersionUID = 1L;
+    public static final IFunctionDescriptorFactory FACTORY = new IFunctionDescriptorFactory() {
+        @Override
+        public IFunctionDescriptor createFunctionDescriptor() {
+            return new SerializableGlobalStddevPopAggregateDescriptor();
+        }
+    };
+
+    @Override
+    public FunctionIdentifier getIdentifier() {
+        return BuiltinFunctions.SERIAL_GLOBAL_STDDEV_POP;
+    }
+
+    @Override
+    public ISerializedAggregateEvaluatorFactory createSerializableAggregateEvaluatorFactory(
+            final IScalarEvaluatorFactory[] args) {
+        return new ISerializedAggregateEvaluatorFactory() {
+            private static final long serialVersionUID = 1L;
+
+            @Override
+            public ISerializedAggregateEvaluator createAggregateEvaluator(IHyracksTaskContext ctx)
+                    throws HyracksDataException {
+                return new SerializableGlobalStddevAggregateFunction(args, ctx, true, sourceLoc);
+            }
+        };
+    }
+
+}
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/serializable/std/SerializableIntermediateSqlStddevAggregateDescriptor.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/serializable/std/SerializableIntermediateSqlStddevAggregateDescriptor.java
index e5d788a..094bc18 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/serializable/std/SerializableIntermediateSqlStddevAggregateDescriptor.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/serializable/std/SerializableIntermediateSqlStddevAggregateDescriptor.java
@@ -55,7 +55,7 @@
             @Override
             public ISerializedAggregateEvaluator createAggregateEvaluator(IHyracksTaskContext ctx)
                     throws HyracksDataException {
-                return new SerializableIntermediateSqlStddevAggregateFunction(args, ctx, sourceLoc);
+                return new SerializableIntermediateSqlStddevAggregateFunction(args, ctx, false, sourceLoc);
             }
         };
     }
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/serializable/std/SerializableIntermediateSqlStddevAggregateFunction.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/serializable/std/SerializableIntermediateSqlStddevAggregateFunction.java
index 498801b..859cace 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/serializable/std/SerializableIntermediateSqlStddevAggregateFunction.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/serializable/std/SerializableIntermediateSqlStddevAggregateFunction.java
@@ -32,9 +32,12 @@
 public class SerializableIntermediateSqlStddevAggregateFunction
         extends AbstractSerializableSingleVariableStatisticsAggregateFunction {
 
+    private final boolean isPop;
+
     public SerializableIntermediateSqlStddevAggregateFunction(IScalarEvaluatorFactory[] args,
-            IHyracksTaskContext context, SourceLocation sourceLoc) throws HyracksDataException {
+            IHyracksTaskContext context, boolean isPop, SourceLocation sourceLoc) throws HyracksDataException {
         super(args, context, sourceLoc);
+        this.isPop = isPop;
     }
 
     @Override
@@ -58,6 +61,10 @@
 
     @Override
     protected FunctionIdentifier getFunctionIdentifier() {
-        return BuiltinFunctions.STDDEV;
+        if (isPop) {
+            return BuiltinFunctions.STDDEV_POP;
+        } else {
+            return BuiltinFunctions.STDDEV;
+        }
     }
 }
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/serializable/std/SerializableIntermediateSqlStddevPopAggregateDescriptor.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/serializable/std/SerializableIntermediateSqlStddevPopAggregateDescriptor.java
new file mode 100644
index 0000000..10df14f
--- /dev/null
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/serializable/std/SerializableIntermediateSqlStddevPopAggregateDescriptor.java
@@ -0,0 +1,63 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.asterix.runtime.aggregates.serializable.std;
+
+import org.apache.asterix.om.functions.BuiltinFunctions;
+import org.apache.asterix.om.functions.IFunctionDescriptor;
+import org.apache.asterix.om.functions.IFunctionDescriptorFactory;
+import org.apache.asterix.runtime.aggregates.base.AbstractSerializableAggregateFunctionDynamicDescriptor;
+import org.apache.hyracks.algebricks.core.algebra.functions.FunctionIdentifier;
+import org.apache.hyracks.algebricks.runtime.base.IScalarEvaluatorFactory;
+import org.apache.hyracks.algebricks.runtime.base.ISerializedAggregateEvaluator;
+import org.apache.hyracks.algebricks.runtime.base.ISerializedAggregateEvaluatorFactory;
+import org.apache.hyracks.api.context.IHyracksTaskContext;
+import org.apache.hyracks.api.exceptions.HyracksDataException;
+
+public class SerializableIntermediateSqlStddevPopAggregateDescriptor
+        extends AbstractSerializableAggregateFunctionDynamicDescriptor {
+
+    private static final long serialVersionUID = 1L;
+    public static final IFunctionDescriptorFactory FACTORY = new IFunctionDescriptorFactory() {
+        @Override
+        public IFunctionDescriptor createFunctionDescriptor() {
+            return new SerializableIntermediateSqlStddevPopAggregateDescriptor();
+        }
+    };
+
+    @Override
+    public FunctionIdentifier getIdentifier() {
+        return BuiltinFunctions.SERIAL_INTERMEDIATE_SQL_STDDEV_POP;
+    }
+
+    @Override
+    public ISerializedAggregateEvaluatorFactory createSerializableAggregateEvaluatorFactory(
+            final IScalarEvaluatorFactory[] args) {
+        return new ISerializedAggregateEvaluatorFactory() {
+            private static final long serialVersionUID = 1L;
+
+            @Override
+            public ISerializedAggregateEvaluator createAggregateEvaluator(IHyracksTaskContext ctx)
+                    throws HyracksDataException {
+                return new SerializableIntermediateSqlStddevAggregateFunction(args, ctx, true, sourceLoc);
+            }
+        };
+    }
+
+}
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/serializable/std/SerializableIntermediateStddevAggregateDescriptor.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/serializable/std/SerializableIntermediateStddevAggregateDescriptor.java
index d17e5b7..346241c 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/serializable/std/SerializableIntermediateStddevAggregateDescriptor.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/serializable/std/SerializableIntermediateStddevAggregateDescriptor.java
@@ -55,7 +55,7 @@
             @Override
             public ISerializedAggregateEvaluator createAggregateEvaluator(IHyracksTaskContext ctx)
                     throws HyracksDataException {
-                return new SerializableIntermediateStddevAggregateFunction(args, ctx, sourceLoc);
+                return new SerializableIntermediateStddevAggregateFunction(args, ctx, false, sourceLoc);
             }
         };
     }
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/serializable/std/SerializableIntermediateStddevAggregateFunction.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/serializable/std/SerializableIntermediateStddevAggregateFunction.java
index 8bc8e14..cea4625 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/serializable/std/SerializableIntermediateStddevAggregateFunction.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/serializable/std/SerializableIntermediateStddevAggregateFunction.java
@@ -34,9 +34,12 @@
 public class SerializableIntermediateStddevAggregateFunction
         extends AbstractSerializableSingleVariableStatisticsAggregateFunction {
 
+    private final boolean isPop;
+
     public SerializableIntermediateStddevAggregateFunction(IScalarEvaluatorFactory[] args, IHyracksTaskContext context,
-            SourceLocation sourceLoc) throws HyracksDataException {
+            boolean isPop, SourceLocation sourceLoc) throws HyracksDataException {
         super(args, context, sourceLoc);
+        this.isPop = isPop;
     }
 
     @Override
@@ -67,7 +70,11 @@
 
     @Override
     protected FunctionIdentifier getFunctionIdentifier() {
-        return BuiltinFunctions.STDDEV;
+        if (isPop) {
+            return BuiltinFunctions.STDDEV_POP;
+        } else {
+            return BuiltinFunctions.STDDEV;
+        }
     }
 
 }
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/serializable/std/SerializableIntermediateStddevPopAggregateDescriptor.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/serializable/std/SerializableIntermediateStddevPopAggregateDescriptor.java
new file mode 100644
index 0000000..aa4a835
--- /dev/null
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/serializable/std/SerializableIntermediateStddevPopAggregateDescriptor.java
@@ -0,0 +1,63 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.asterix.runtime.aggregates.serializable.std;
+
+import org.apache.asterix.om.functions.BuiltinFunctions;
+import org.apache.asterix.om.functions.IFunctionDescriptor;
+import org.apache.asterix.om.functions.IFunctionDescriptorFactory;
+import org.apache.asterix.runtime.aggregates.base.AbstractSerializableAggregateFunctionDynamicDescriptor;
+import org.apache.hyracks.algebricks.core.algebra.functions.FunctionIdentifier;
+import org.apache.hyracks.algebricks.runtime.base.IScalarEvaluatorFactory;
+import org.apache.hyracks.algebricks.runtime.base.ISerializedAggregateEvaluator;
+import org.apache.hyracks.algebricks.runtime.base.ISerializedAggregateEvaluatorFactory;
+import org.apache.hyracks.api.context.IHyracksTaskContext;
+import org.apache.hyracks.api.exceptions.HyracksDataException;
+
+public class SerializableIntermediateStddevPopAggregateDescriptor
+        extends AbstractSerializableAggregateFunctionDynamicDescriptor {
+
+    private static final long serialVersionUID = 1L;
+    public static final IFunctionDescriptorFactory FACTORY = new IFunctionDescriptorFactory() {
+        @Override
+        public IFunctionDescriptor createFunctionDescriptor() {
+            return new SerializableIntermediateStddevPopAggregateDescriptor();
+        }
+    };
+
+    @Override
+    public FunctionIdentifier getIdentifier() {
+        return BuiltinFunctions.SERIAL_INTERMEDIATE_STDDEV_POP;
+    }
+
+    @Override
+    public ISerializedAggregateEvaluatorFactory createSerializableAggregateEvaluatorFactory(
+            final IScalarEvaluatorFactory[] args) {
+        return new ISerializedAggregateEvaluatorFactory() {
+            private static final long serialVersionUID = 1L;
+
+            @Override
+            public ISerializedAggregateEvaluator createAggregateEvaluator(IHyracksTaskContext ctx)
+                    throws HyracksDataException {
+                return new SerializableIntermediateStddevAggregateFunction(args, ctx, true, sourceLoc);
+            }
+        };
+    }
+
+}
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/serializable/std/SerializableLocalSqlStddevAggregateDescriptor.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/serializable/std/SerializableLocalSqlStddevAggregateDescriptor.java
index 9fd7381..41b64ed 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/serializable/std/SerializableLocalSqlStddevAggregateDescriptor.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/serializable/std/SerializableLocalSqlStddevAggregateDescriptor.java
@@ -55,7 +55,7 @@
             @Override
             public ISerializedAggregateEvaluator createAggregateEvaluator(IHyracksTaskContext ctx)
                     throws HyracksDataException {
-                return new SerializableLocalSqlStddevAggregateFunction(args, ctx, sourceLoc);
+                return new SerializableLocalSqlStddevAggregateFunction(args, ctx, false, sourceLoc);
             }
         };
     }
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/serializable/std/SerializableLocalSqlStddevAggregateFunction.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/serializable/std/SerializableLocalSqlStddevAggregateFunction.java
index d0ef10e..6215511 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/serializable/std/SerializableLocalSqlStddevAggregateFunction.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/serializable/std/SerializableLocalSqlStddevAggregateFunction.java
@@ -32,9 +32,12 @@
 public class SerializableLocalSqlStddevAggregateFunction
         extends AbstractSerializableSingleVariableStatisticsAggregateFunction {
 
+    private final boolean isPop;
+
     public SerializableLocalSqlStddevAggregateFunction(IScalarEvaluatorFactory[] args, IHyracksTaskContext context,
-            SourceLocation sourceLoc) throws HyracksDataException {
+            boolean isPop, SourceLocation sourceLoc) throws HyracksDataException {
         super(args, context, sourceLoc);
+        this.isPop = isPop;
     }
 
     @Override
@@ -58,6 +61,10 @@
 
     @Override
     protected FunctionIdentifier getFunctionIdentifier() {
-        return BuiltinFunctions.STDDEV;
+        if (isPop) {
+            return BuiltinFunctions.STDDEV_POP;
+        } else {
+            return BuiltinFunctions.STDDEV;
+        }
     }
 }
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/serializable/std/SerializableLocalSqlStddevPopAggregateDescriptor.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/serializable/std/SerializableLocalSqlStddevPopAggregateDescriptor.java
new file mode 100644
index 0000000..c1692c2
--- /dev/null
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/serializable/std/SerializableLocalSqlStddevPopAggregateDescriptor.java
@@ -0,0 +1,63 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.asterix.runtime.aggregates.serializable.std;
+
+import org.apache.asterix.om.functions.BuiltinFunctions;
+import org.apache.asterix.om.functions.IFunctionDescriptor;
+import org.apache.asterix.om.functions.IFunctionDescriptorFactory;
+import org.apache.asterix.runtime.aggregates.base.AbstractSerializableAggregateFunctionDynamicDescriptor;
+import org.apache.hyracks.algebricks.core.algebra.functions.FunctionIdentifier;
+import org.apache.hyracks.algebricks.runtime.base.IScalarEvaluatorFactory;
+import org.apache.hyracks.algebricks.runtime.base.ISerializedAggregateEvaluator;
+import org.apache.hyracks.algebricks.runtime.base.ISerializedAggregateEvaluatorFactory;
+import org.apache.hyracks.api.context.IHyracksTaskContext;
+import org.apache.hyracks.api.exceptions.HyracksDataException;
+
+public class SerializableLocalSqlStddevPopAggregateDescriptor
+        extends AbstractSerializableAggregateFunctionDynamicDescriptor {
+
+    private static final long serialVersionUID = 1L;
+    public static final IFunctionDescriptorFactory FACTORY = new IFunctionDescriptorFactory() {
+        @Override
+        public IFunctionDescriptor createFunctionDescriptor() {
+            return new SerializableLocalSqlStddevPopAggregateDescriptor();
+        }
+    };
+
+    @Override
+    public FunctionIdentifier getIdentifier() {
+        return BuiltinFunctions.SERIAL_LOCAL_SQL_STDDEV_POP;
+    }
+
+    @Override
+    public ISerializedAggregateEvaluatorFactory createSerializableAggregateEvaluatorFactory(
+            final IScalarEvaluatorFactory[] args) {
+        return new ISerializedAggregateEvaluatorFactory() {
+            private static final long serialVersionUID = 1L;
+
+            @Override
+            public ISerializedAggregateEvaluator createAggregateEvaluator(IHyracksTaskContext ctx)
+                    throws HyracksDataException {
+                return new SerializableLocalSqlStddevAggregateFunction(args, ctx, true, sourceLoc);
+            }
+        };
+    }
+
+}
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/serializable/std/SerializableLocalStddevAggregateDescriptor.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/serializable/std/SerializableLocalStddevAggregateDescriptor.java
index f4d3bd8..b8f36dd 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/serializable/std/SerializableLocalStddevAggregateDescriptor.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/serializable/std/SerializableLocalStddevAggregateDescriptor.java
@@ -54,7 +54,7 @@
             @Override
             public ISerializedAggregateEvaluator createAggregateEvaluator(IHyracksTaskContext ctx)
                     throws HyracksDataException {
-                return new SerializableLocalStddevAggregateFunction(args, ctx, sourceLoc);
+                return new SerializableLocalStddevAggregateFunction(args, ctx, false, sourceLoc);
             }
         };
     }
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/serializable/std/SerializableLocalStddevAggregateFunction.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/serializable/std/SerializableLocalStddevAggregateFunction.java
index 3693d4b..bd5a80c 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/serializable/std/SerializableLocalStddevAggregateFunction.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/serializable/std/SerializableLocalStddevAggregateFunction.java
@@ -34,9 +34,12 @@
 public class SerializableLocalStddevAggregateFunction
         extends AbstractSerializableSingleVariableStatisticsAggregateFunction {
 
+    private final boolean isPop;
+
     public SerializableLocalStddevAggregateFunction(IScalarEvaluatorFactory[] args, IHyracksTaskContext context,
-            SourceLocation sourceLoc) throws HyracksDataException {
+            boolean isPop, SourceLocation sourceLoc) throws HyracksDataException {
         super(args, context, sourceLoc);
+        this.isPop = isPop;
     }
 
     @Override
@@ -67,6 +70,10 @@
 
     @Override
     protected FunctionIdentifier getFunctionIdentifier() {
-        return BuiltinFunctions.STDDEV;
+        if (isPop) {
+            return BuiltinFunctions.STDDEV_POP;
+        } else {
+            return BuiltinFunctions.STDDEV;
+        }
     }
 }
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/serializable/std/SerializableLocalStddevPopAggregateDescriptor.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/serializable/std/SerializableLocalStddevPopAggregateDescriptor.java
new file mode 100644
index 0000000..1edfd92
--- /dev/null
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/serializable/std/SerializableLocalStddevPopAggregateDescriptor.java
@@ -0,0 +1,63 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.asterix.runtime.aggregates.serializable.std;
+
+import org.apache.asterix.om.functions.BuiltinFunctions;
+import org.apache.asterix.om.functions.IFunctionDescriptor;
+import org.apache.asterix.om.functions.IFunctionDescriptorFactory;
+import org.apache.asterix.runtime.aggregates.base.AbstractSerializableAggregateFunctionDynamicDescriptor;
+import org.apache.hyracks.algebricks.core.algebra.functions.FunctionIdentifier;
+import org.apache.hyracks.algebricks.runtime.base.IScalarEvaluatorFactory;
+import org.apache.hyracks.algebricks.runtime.base.ISerializedAggregateEvaluator;
+import org.apache.hyracks.algebricks.runtime.base.ISerializedAggregateEvaluatorFactory;
+import org.apache.hyracks.api.context.IHyracksTaskContext;
+import org.apache.hyracks.api.exceptions.HyracksDataException;
+
+public class SerializableLocalStddevPopAggregateDescriptor
+        extends AbstractSerializableAggregateFunctionDynamicDescriptor {
+
+    private static final long serialVersionUID = 1L;
+    public static final IFunctionDescriptorFactory FACTORY = new IFunctionDescriptorFactory() {
+        @Override
+        public IFunctionDescriptor createFunctionDescriptor() {
+            return new SerializableLocalStddevPopAggregateDescriptor();
+        }
+    };
+
+    @Override
+    public FunctionIdentifier getIdentifier() {
+        return BuiltinFunctions.SERIAL_LOCAL_STDDEV_POP;
+    }
+
+    @Override
+    public ISerializedAggregateEvaluatorFactory createSerializableAggregateEvaluatorFactory(
+            final IScalarEvaluatorFactory[] args) {
+        return new ISerializedAggregateEvaluatorFactory() {
+            private static final long serialVersionUID = 1L;
+
+            @Override
+            public ISerializedAggregateEvaluator createAggregateEvaluator(IHyracksTaskContext ctx)
+                    throws HyracksDataException {
+                return new SerializableLocalStddevAggregateFunction(args, ctx, true, sourceLoc);
+            }
+        };
+    }
+
+}
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/serializable/std/SerializableSqlStddevAggregateDescriptor.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/serializable/std/SerializableSqlStddevAggregateDescriptor.java
index a2c2a16..a046242 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/serializable/std/SerializableSqlStddevAggregateDescriptor.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/serializable/std/SerializableSqlStddevAggregateDescriptor.java
@@ -53,7 +53,7 @@
             @Override
             public ISerializedAggregateEvaluator createAggregateEvaluator(IHyracksTaskContext ctx)
                     throws HyracksDataException {
-                return new SerializableSqlStddevAggregateFunction(args, ctx, sourceLoc);
+                return new SerializableSqlStddevAggregateFunction(args, ctx, false, sourceLoc);
             }
         };
     }
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/serializable/std/SerializableSqlStddevAggregateFunction.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/serializable/std/SerializableSqlStddevAggregateFunction.java
index 005eaad..299aa16 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/serializable/std/SerializableSqlStddevAggregateFunction.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/serializable/std/SerializableSqlStddevAggregateFunction.java
@@ -31,9 +31,18 @@
 public class SerializableSqlStddevAggregateFunction
         extends AbstractSerializableSingleVariableStatisticsAggregateFunction {
 
+    private final boolean isPop;
+    private final int delta;
+
     public SerializableSqlStddevAggregateFunction(IScalarEvaluatorFactory[] args, IHyracksTaskContext context,
-            SourceLocation sourceLoc) throws HyracksDataException {
+            boolean isPop, SourceLocation sourceLoc) throws HyracksDataException {
         super(args, context, sourceLoc);
+        this.isPop = isPop;
+        if (isPop) {
+            delta = 0;
+        } else {
+            delta = 1;
+        }
     }
 
     @Override
@@ -43,7 +52,7 @@
 
     @Override
     public void finish(byte[] state, int start, int len, DataOutput result) throws HyracksDataException {
-        finishStddevFinalResults(state, start, len, result);
+        finishStddevFinalResults(state, start, len, result, delta);
     }
 
     @Override
@@ -57,7 +66,11 @@
 
     @Override
     protected FunctionIdentifier getFunctionIdentifier() {
-        return BuiltinFunctions.STDDEV;
+        if (isPop) {
+            return BuiltinFunctions.STDDEV_POP;
+        } else {
+            return BuiltinFunctions.STDDEV;
+        }
     }
 
 }
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/serializable/std/SerializableSqlStddevPopAggregateDescriptor.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/serializable/std/SerializableSqlStddevPopAggregateDescriptor.java
new file mode 100644
index 0000000..24b84b9
--- /dev/null
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/serializable/std/SerializableSqlStddevPopAggregateDescriptor.java
@@ -0,0 +1,61 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.asterix.runtime.aggregates.serializable.std;
+
+import org.apache.asterix.om.functions.BuiltinFunctions;
+import org.apache.asterix.om.functions.IFunctionDescriptor;
+import org.apache.asterix.om.functions.IFunctionDescriptorFactory;
+import org.apache.asterix.runtime.aggregates.base.AbstractSerializableAggregateFunctionDynamicDescriptor;
+import org.apache.hyracks.algebricks.core.algebra.functions.FunctionIdentifier;
+import org.apache.hyracks.algebricks.runtime.base.IScalarEvaluatorFactory;
+import org.apache.hyracks.algebricks.runtime.base.ISerializedAggregateEvaluator;
+import org.apache.hyracks.algebricks.runtime.base.ISerializedAggregateEvaluatorFactory;
+import org.apache.hyracks.api.context.IHyracksTaskContext;
+import org.apache.hyracks.api.exceptions.HyracksDataException;
+
+public class SerializableSqlStddevPopAggregateDescriptor
+        extends AbstractSerializableAggregateFunctionDynamicDescriptor {
+
+    private static final long serialVersionUID = 1L;
+    public static final IFunctionDescriptorFactory FACTORY = new IFunctionDescriptorFactory() {
+        @Override
+        public IFunctionDescriptor createFunctionDescriptor() {
+            return new SerializableSqlStddevPopAggregateDescriptor();
+        }
+    };
+
+    @Override
+    public FunctionIdentifier getIdentifier() {
+        return BuiltinFunctions.SERIAL_SQL_STDDEV_POP;
+    }
+
+    @Override
+    public ISerializedAggregateEvaluatorFactory createSerializableAggregateEvaluatorFactory(
+            final IScalarEvaluatorFactory[] args) {
+        return new ISerializedAggregateEvaluatorFactory() {
+            private static final long serialVersionUID = 1L;
+
+            @Override
+            public ISerializedAggregateEvaluator createAggregateEvaluator(IHyracksTaskContext ctx)
+                    throws HyracksDataException {
+                return new SerializableSqlStddevAggregateFunction(args, ctx, true, sourceLoc);
+            }
+        };
+    }
+}
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/serializable/std/SerializableStddevAggregateDescriptor.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/serializable/std/SerializableStddevAggregateDescriptor.java
index f20abc7..30a0d1e 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/serializable/std/SerializableStddevAggregateDescriptor.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/serializable/std/SerializableStddevAggregateDescriptor.java
@@ -54,7 +54,7 @@
             @Override
             public ISerializedAggregateEvaluator createAggregateEvaluator(IHyracksTaskContext ctx)
                     throws HyracksDataException {
-                return new SerializableStddevAggregateFunction(args, ctx, sourceLoc);
+                return new SerializableStddevAggregateFunction(args, ctx, false, sourceLoc);
             }
         };
     }
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/serializable/std/SerializableStddevAggregateFunction.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/serializable/std/SerializableStddevAggregateFunction.java
index f30848d..c9df585 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/serializable/std/SerializableStddevAggregateFunction.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/serializable/std/SerializableStddevAggregateFunction.java
@@ -32,9 +32,18 @@
 
 public class SerializableStddevAggregateFunction extends AbstractSerializableSingleVariableStatisticsAggregateFunction {
 
+    private final boolean isPop;
+    private final int delta;
+
     public SerializableStddevAggregateFunction(IScalarEvaluatorFactory[] args, IHyracksTaskContext context,
-            SourceLocation sourceLoc) throws HyracksDataException {
+            boolean isPop, SourceLocation sourceLoc) throws HyracksDataException {
         super(args, context, sourceLoc);
+        this.isPop = isPop;
+        if (isPop) {
+            delta = 0;
+        } else {
+            delta = 1;
+        }
     }
 
     @Override
@@ -44,7 +53,7 @@
 
     @Override
     public void finish(byte[] state, int start, int len, DataOutput result) throws HyracksDataException {
-        finishStddevFinalResults(state, start, len, result);
+        finishStddevFinalResults(state, start, len, result, delta);
     }
 
     @Override
@@ -65,7 +74,11 @@
 
     @Override
     protected FunctionIdentifier getFunctionIdentifier() {
-        return BuiltinFunctions.STDDEV;
+        if (isPop) {
+            return BuiltinFunctions.STDDEV_POP;
+        } else {
+            return BuiltinFunctions.STDDEV;
+        }
     }
 
 }
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/serializable/std/SerializableStddevPopAggregateDescriptor.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/serializable/std/SerializableStddevPopAggregateDescriptor.java
new file mode 100644
index 0000000..e645980
--- /dev/null
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/serializable/std/SerializableStddevPopAggregateDescriptor.java
@@ -0,0 +1,62 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.asterix.runtime.aggregates.serializable.std;
+
+import org.apache.asterix.om.functions.BuiltinFunctions;
+import org.apache.asterix.om.functions.IFunctionDescriptor;
+import org.apache.asterix.om.functions.IFunctionDescriptorFactory;
+import org.apache.asterix.runtime.aggregates.base.AbstractSerializableAggregateFunctionDynamicDescriptor;
+import org.apache.hyracks.algebricks.common.exceptions.AlgebricksException;
+import org.apache.hyracks.algebricks.core.algebra.functions.FunctionIdentifier;
+import org.apache.hyracks.algebricks.runtime.base.IScalarEvaluatorFactory;
+import org.apache.hyracks.algebricks.runtime.base.ISerializedAggregateEvaluator;
+import org.apache.hyracks.algebricks.runtime.base.ISerializedAggregateEvaluatorFactory;
+import org.apache.hyracks.api.context.IHyracksTaskContext;
+import org.apache.hyracks.api.exceptions.HyracksDataException;
+
+public class SerializableStddevPopAggregateDescriptor extends AbstractSerializableAggregateFunctionDynamicDescriptor {
+
+    private static final long serialVersionUID = 1L;
+    public static final IFunctionDescriptorFactory FACTORY = new IFunctionDescriptorFactory() {
+        @Override
+        public IFunctionDescriptor createFunctionDescriptor() {
+            return new SerializableStddevPopAggregateDescriptor();
+        }
+    };
+
+    @Override
+    public FunctionIdentifier getIdentifier() {
+        return BuiltinFunctions.SERIAL_STDDEV_POP;
+    }
+
+    @Override
+    public ISerializedAggregateEvaluatorFactory createSerializableAggregateEvaluatorFactory(
+            final IScalarEvaluatorFactory[] args) throws AlgebricksException {
+        return new ISerializedAggregateEvaluatorFactory() {
+            private static final long serialVersionUID = 1L;
+
+            @Override
+            public ISerializedAggregateEvaluator createAggregateEvaluator(IHyracksTaskContext ctx)
+                    throws HyracksDataException {
+                return new SerializableStddevAggregateFunction(args, ctx, true, sourceLoc);
+            }
+        };
+    }
+
+}
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/AbstractSingleVarStatisticsAggregateFunction.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/AbstractSingleVarStatisticsAggregateFunction.java
index 8141839..f4171bd 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/AbstractSingleVarStatisticsAggregateFunction.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/AbstractSingleVarStatisticsAggregateFunction.java
@@ -238,13 +238,13 @@
         }
     }
 
-    protected void finishStddevFinalResults(IPointable result) throws HyracksDataException {
+    protected void finishStddevFinalResults(IPointable result, int delta) throws HyracksDataException {
         resultStorage.reset();
         try {
             if (moments.getCount() <= 1 || aggType == ATypeTag.NULL) {
                 nullSerde.serialize(ANull.NULL, resultStorage.getDataOutput());
             } else {
-                aDouble.setValue(Math.sqrt(moments.getM2() / (moments.getCount() - 1)));
+                aDouble.setValue(Math.sqrt(moments.getM2() / (moments.getCount() - delta)));
                 doubleSerde.serialize(aDouble, resultStorage.getDataOutput());
             }
         } catch (IOException e) {
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalSqlStddevAggregateDescriptor.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalSqlStddevAggregateDescriptor.java
index 19d90b2..4a8607a 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalSqlStddevAggregateDescriptor.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalSqlStddevAggregateDescriptor.java
@@ -54,7 +54,7 @@
             @Override
             public IAggregateEvaluator createAggregateEvaluator(final IHyracksTaskContext ctx)
                     throws HyracksDataException {
-                return new GlobalSqlStddevAggregateFunction(args, ctx, sourceLoc);
+                return new GlobalSqlStddevAggregateFunction(args, ctx, false, sourceLoc);
             }
         };
     }
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalSqlStddevAggregateFunction.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalSqlStddevAggregateFunction.java
index 3728201..8ae5796 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalSqlStddevAggregateFunction.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalSqlStddevAggregateFunction.java
@@ -30,9 +30,18 @@
 
 public class GlobalSqlStddevAggregateFunction extends AbstractSingleVarStatisticsAggregateFunction {
 
-    public GlobalSqlStddevAggregateFunction(IScalarEvaluatorFactory[] args, IHyracksTaskContext context,
+    private final boolean isPop;
+    private final int delta;
+
+    public GlobalSqlStddevAggregateFunction(IScalarEvaluatorFactory[] args, IHyracksTaskContext context, boolean isPop,
             SourceLocation sourceLoc) throws HyracksDataException {
         super(args, context, sourceLoc);
+        this.isPop = isPop;
+        if (isPop) {
+            delta = 0;
+        } else {
+            delta = 1;
+        }
     }
 
     @Override
@@ -42,7 +51,7 @@
 
     @Override
     public void finish(IPointable result) throws HyracksDataException {
-        finishStddevFinalResults(result);
+        finishStddevFinalResults(result, delta);
     }
 
     @Override
@@ -56,7 +65,11 @@
 
     @Override
     protected FunctionIdentifier getFunctionIdentifier() {
-        return BuiltinFunctions.STDDEV;
+        if (isPop) {
+            return BuiltinFunctions.STDDEV_POP;
+        } else {
+            return BuiltinFunctions.STDDEV;
+        }
     }
 
 }
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalSqlStddevPopAggregateDescriptor.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalSqlStddevPopAggregateDescriptor.java
new file mode 100644
index 0000000..b227f2d
--- /dev/null
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalSqlStddevPopAggregateDescriptor.java
@@ -0,0 +1,62 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.asterix.runtime.aggregates.std;
+
+import org.apache.asterix.om.functions.BuiltinFunctions;
+import org.apache.asterix.om.functions.IFunctionDescriptor;
+import org.apache.asterix.om.functions.IFunctionDescriptorFactory;
+import org.apache.asterix.runtime.aggregates.base.AbstractAggregateFunctionDynamicDescriptor;
+import org.apache.hyracks.algebricks.core.algebra.functions.FunctionIdentifier;
+import org.apache.hyracks.algebricks.runtime.base.IAggregateEvaluator;
+import org.apache.hyracks.algebricks.runtime.base.IAggregateEvaluatorFactory;
+import org.apache.hyracks.algebricks.runtime.base.IScalarEvaluatorFactory;
+import org.apache.hyracks.api.context.IHyracksTaskContext;
+import org.apache.hyracks.api.exceptions.HyracksDataException;
+
+public class GlobalSqlStddevPopAggregateDescriptor extends AbstractAggregateFunctionDynamicDescriptor {
+
+    private static final long serialVersionUID = 1L;
+
+    public static final IFunctionDescriptorFactory FACTORY = new IFunctionDescriptorFactory() {
+        @Override
+        public IFunctionDescriptor createFunctionDescriptor() {
+            return new GlobalSqlStddevPopAggregateDescriptor();
+        }
+    };
+
+    @Override
+    public FunctionIdentifier getIdentifier() {
+        return BuiltinFunctions.GLOBAL_SQL_STDDEV_POP;
+    }
+
+    @Override
+    public IAggregateEvaluatorFactory createAggregateEvaluatorFactory(final IScalarEvaluatorFactory[] args) {
+        return new IAggregateEvaluatorFactory() {
+            private static final long serialVersionUID = 1L;
+
+            @Override
+            public IAggregateEvaluator createAggregateEvaluator(final IHyracksTaskContext ctx)
+                    throws HyracksDataException {
+                return new GlobalSqlStddevAggregateFunction(args, ctx, true, sourceLoc);
+            }
+        };
+    }
+
+}
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalStddevAggregateDescriptor.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalStddevAggregateDescriptor.java
index 3ab204c..015abb5 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalStddevAggregateDescriptor.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalStddevAggregateDescriptor.java
@@ -54,7 +54,7 @@
             @Override
             public IAggregateEvaluator createAggregateEvaluator(final IHyracksTaskContext ctx)
                     throws HyracksDataException {
-                return new GlobalStddevAggregateFunction(args, ctx, sourceLoc);
+                return new GlobalStddevAggregateFunction(args, ctx, false, sourceLoc);
             }
         };
     }
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalStddevAggregateFunction.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalStddevAggregateFunction.java
index 5ceea4b..e459b6d 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalStddevAggregateFunction.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalStddevAggregateFunction.java
@@ -31,9 +31,18 @@
 
 public class GlobalStddevAggregateFunction extends AbstractSingleVarStatisticsAggregateFunction {
 
-    public GlobalStddevAggregateFunction(IScalarEvaluatorFactory[] args, IHyracksTaskContext context,
+    private final boolean isPop;
+    private final int delta;
+
+    public GlobalStddevAggregateFunction(IScalarEvaluatorFactory[] args, IHyracksTaskContext context, boolean isPop,
             SourceLocation sourceLoc) throws HyracksDataException {
         super(args, context, sourceLoc);
+        this.isPop = isPop;
+        if (isPop) {
+            delta = 0;
+        } else {
+            delta = 1;
+        }
     }
 
     @Override
@@ -43,7 +52,7 @@
 
     @Override
     public void finish(IPointable result) throws HyracksDataException {
-        finishStddevFinalResults(result);
+        finishStddevFinalResults(result, delta);
     }
 
     @Override
@@ -63,7 +72,11 @@
 
     @Override
     protected FunctionIdentifier getFunctionIdentifier() {
-        return BuiltinFunctions.STDDEV;
+        if (isPop) {
+            return BuiltinFunctions.STDDEV_POP;
+        } else {
+            return BuiltinFunctions.STDDEV;
+        }
     }
 
 }
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalStddevPopAggregateDescriptor.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalStddevPopAggregateDescriptor.java
new file mode 100644
index 0000000..1dc3083
--- /dev/null
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalStddevPopAggregateDescriptor.java
@@ -0,0 +1,62 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.asterix.runtime.aggregates.std;
+
+import org.apache.asterix.om.functions.BuiltinFunctions;
+import org.apache.asterix.om.functions.IFunctionDescriptor;
+import org.apache.asterix.om.functions.IFunctionDescriptorFactory;
+import org.apache.asterix.runtime.aggregates.base.AbstractAggregateFunctionDynamicDescriptor;
+import org.apache.hyracks.algebricks.core.algebra.functions.FunctionIdentifier;
+import org.apache.hyracks.algebricks.runtime.base.IAggregateEvaluator;
+import org.apache.hyracks.algebricks.runtime.base.IAggregateEvaluatorFactory;
+import org.apache.hyracks.algebricks.runtime.base.IScalarEvaluatorFactory;
+import org.apache.hyracks.api.context.IHyracksTaskContext;
+import org.apache.hyracks.api.exceptions.HyracksDataException;
+
+public class GlobalStddevPopAggregateDescriptor extends AbstractAggregateFunctionDynamicDescriptor {
+
+    private static final long serialVersionUID = 1L;
+
+    public static final IFunctionDescriptorFactory FACTORY = new IFunctionDescriptorFactory() {
+        @Override
+        public IFunctionDescriptor createFunctionDescriptor() {
+            return new GlobalStddevPopAggregateDescriptor();
+        }
+    };
+
+    @Override
+    public FunctionIdentifier getIdentifier() {
+        return BuiltinFunctions.GLOBAL_STDDEV_POP;
+    }
+
+    @Override
+    public IAggregateEvaluatorFactory createAggregateEvaluatorFactory(final IScalarEvaluatorFactory[] args) {
+        return new IAggregateEvaluatorFactory() {
+            private static final long serialVersionUID = 1L;
+
+            @Override
+            public IAggregateEvaluator createAggregateEvaluator(final IHyracksTaskContext ctx)
+                    throws HyracksDataException {
+                return new GlobalStddevAggregateFunction(args, ctx, true, sourceLoc);
+            }
+        };
+    }
+
+}
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/IntermediateSqlStddevAggregateDescriptor.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/IntermediateSqlStddevAggregateDescriptor.java
index f96a757..6d979da 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/IntermediateSqlStddevAggregateDescriptor.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/IntermediateSqlStddevAggregateDescriptor.java
@@ -53,7 +53,7 @@
             @Override
             public IAggregateEvaluator createAggregateEvaluator(final IHyracksTaskContext ctx)
                     throws HyracksDataException {
-                return new IntermediateSqlStddevAggregateFunction(args, ctx, sourceLoc);
+                return new IntermediateSqlStddevAggregateFunction(args, ctx, false, sourceLoc);
             }
         };
     }
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/IntermediateSqlStddevAggregateFunction.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/IntermediateSqlStddevAggregateFunction.java
index 44a0315..5711d0a 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/IntermediateSqlStddevAggregateFunction.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/IntermediateSqlStddevAggregateFunction.java
@@ -30,9 +30,12 @@
 
 public class IntermediateSqlStddevAggregateFunction extends AbstractSingleVarStatisticsAggregateFunction {
 
+    private final boolean isPop;
+
     public IntermediateSqlStddevAggregateFunction(IScalarEvaluatorFactory[] args, IHyracksTaskContext context,
-            SourceLocation sourceLoc) throws HyracksDataException {
+            boolean isPop, SourceLocation sourceLoc) throws HyracksDataException {
         super(args, context, sourceLoc);
+        this.isPop = isPop;
     }
 
     @Override
@@ -56,6 +59,10 @@
 
     @Override
     protected FunctionIdentifier getFunctionIdentifier() {
-        return BuiltinFunctions.STDDEV;
+        if (isPop) {
+            return BuiltinFunctions.STDDEV_POP;
+        } else {
+            return BuiltinFunctions.STDDEV;
+        }
     }
 }
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/IntermediateSqlStddevPopAggregateDescriptor.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/IntermediateSqlStddevPopAggregateDescriptor.java
new file mode 100644
index 0000000..f568394
--- /dev/null
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/IntermediateSqlStddevPopAggregateDescriptor.java
@@ -0,0 +1,61 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.asterix.runtime.aggregates.std;
+
+import org.apache.asterix.om.functions.BuiltinFunctions;
+import org.apache.asterix.om.functions.IFunctionDescriptor;
+import org.apache.asterix.om.functions.IFunctionDescriptorFactory;
+import org.apache.asterix.runtime.aggregates.base.AbstractAggregateFunctionDynamicDescriptor;
+import org.apache.hyracks.algebricks.core.algebra.functions.FunctionIdentifier;
+import org.apache.hyracks.algebricks.runtime.base.IAggregateEvaluator;
+import org.apache.hyracks.algebricks.runtime.base.IAggregateEvaluatorFactory;
+import org.apache.hyracks.algebricks.runtime.base.IScalarEvaluatorFactory;
+import org.apache.hyracks.api.context.IHyracksTaskContext;
+import org.apache.hyracks.api.exceptions.HyracksDataException;
+
+public class IntermediateSqlStddevPopAggregateDescriptor extends AbstractAggregateFunctionDynamicDescriptor {
+
+    private static final long serialVersionUID = 1L;
+    public static final IFunctionDescriptorFactory FACTORY = new IFunctionDescriptorFactory() {
+        @Override
+        public IFunctionDescriptor createFunctionDescriptor() {
+            return new IntermediateSqlStddevPopAggregateDescriptor();
+        }
+    };
+
+    @Override
+    public FunctionIdentifier getIdentifier() {
+        return BuiltinFunctions.INTERMEDIATE_SQL_STDDEV_POP;
+    }
+
+    @Override
+    public IAggregateEvaluatorFactory createAggregateEvaluatorFactory(final IScalarEvaluatorFactory[] args) {
+        return new IAggregateEvaluatorFactory() {
+            private static final long serialVersionUID = 1L;
+
+            @Override
+            public IAggregateEvaluator createAggregateEvaluator(final IHyracksTaskContext ctx)
+                    throws HyracksDataException {
+                return new IntermediateSqlStddevAggregateFunction(args, ctx, true, sourceLoc);
+            }
+        };
+    }
+
+}
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/IntermediateStddevAggregateDescriptor.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/IntermediateStddevAggregateDescriptor.java
index 503072b..34248d1 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/IntermediateStddevAggregateDescriptor.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/IntermediateStddevAggregateDescriptor.java
@@ -54,7 +54,7 @@
             @Override
             public IAggregateEvaluator createAggregateEvaluator(final IHyracksTaskContext ctx)
                     throws HyracksDataException {
-                return new IntermediateStddevAggregateFunction(args, ctx, sourceLoc);
+                return new IntermediateStddevAggregateFunction(args, ctx, false, sourceLoc);
             }
         };
     }
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/IntermediateStddevAggregateFunction.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/IntermediateStddevAggregateFunction.java
index 238a523..77b5bf0 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/IntermediateStddevAggregateFunction.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/IntermediateStddevAggregateFunction.java
@@ -32,9 +32,12 @@
 
 public class IntermediateStddevAggregateFunction extends AbstractSingleVarStatisticsAggregateFunction {
 
+    private final boolean isPop;
+
     public IntermediateStddevAggregateFunction(IScalarEvaluatorFactory[] args, IHyracksTaskContext context,
-            SourceLocation sourceLoc) throws HyracksDataException {
+            boolean isPop, SourceLocation sourceLoc) throws HyracksDataException {
         super(args, context, sourceLoc);
+        this.isPop = isPop;
     }
 
     @Override
@@ -64,7 +67,11 @@
 
     @Override
     protected FunctionIdentifier getFunctionIdentifier() {
-        return BuiltinFunctions.STDDEV;
+        if (isPop) {
+            return BuiltinFunctions.STDDEV_POP;
+        } else {
+            return BuiltinFunctions.STDDEV;
+        }
     }
 
 }
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/IntermediateStddevPopAggregateDescriptor.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/IntermediateStddevPopAggregateDescriptor.java
new file mode 100644
index 0000000..62a70f5
--- /dev/null
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/IntermediateStddevPopAggregateDescriptor.java
@@ -0,0 +1,62 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.asterix.runtime.aggregates.std;
+
+import org.apache.asterix.om.functions.BuiltinFunctions;
+import org.apache.asterix.om.functions.IFunctionDescriptor;
+import org.apache.asterix.om.functions.IFunctionDescriptorFactory;
+import org.apache.asterix.runtime.aggregates.base.AbstractAggregateFunctionDynamicDescriptor;
+import org.apache.hyracks.algebricks.core.algebra.functions.FunctionIdentifier;
+import org.apache.hyracks.algebricks.runtime.base.IAggregateEvaluator;
+import org.apache.hyracks.algebricks.runtime.base.IAggregateEvaluatorFactory;
+import org.apache.hyracks.algebricks.runtime.base.IScalarEvaluatorFactory;
+import org.apache.hyracks.api.context.IHyracksTaskContext;
+import org.apache.hyracks.api.exceptions.HyracksDataException;
+
+public class IntermediateStddevPopAggregateDescriptor extends AbstractAggregateFunctionDynamicDescriptor {
+
+    private static final long serialVersionUID = 1L;
+
+    public static final IFunctionDescriptorFactory FACTORY = new IFunctionDescriptorFactory() {
+        @Override
+        public IFunctionDescriptor createFunctionDescriptor() {
+            return new IntermediateStddevPopAggregateDescriptor();
+        }
+    };
+
+    @Override
+    public FunctionIdentifier getIdentifier() {
+        return BuiltinFunctions.INTERMEDIATE_STDDEV_POP;
+    }
+
+    @Override
+    public IAggregateEvaluatorFactory createAggregateEvaluatorFactory(final IScalarEvaluatorFactory[] args) {
+        return new IAggregateEvaluatorFactory() {
+            private static final long serialVersionUID = 1L;
+
+            @Override
+            public IAggregateEvaluator createAggregateEvaluator(final IHyracksTaskContext ctx)
+                    throws HyracksDataException {
+                return new IntermediateStddevAggregateFunction(args, ctx, true, sourceLoc);
+            }
+        };
+    }
+
+}
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalSqlStddevAggregateDescriptor.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalSqlStddevAggregateDescriptor.java
index c89e71f..34d2e72 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalSqlStddevAggregateDescriptor.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalSqlStddevAggregateDescriptor.java
@@ -53,7 +53,7 @@
             @Override
             public IAggregateEvaluator createAggregateEvaluator(final IHyracksTaskContext ctx)
                     throws HyracksDataException {
-                return new LocalSqlStddevAggregateFunction(args, ctx, sourceLoc);
+                return new LocalSqlStddevAggregateFunction(args, ctx, false, sourceLoc);
             }
         };
     }
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalSqlStddevAggregateFunction.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalSqlStddevAggregateFunction.java
index b030b8e..205d931 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalSqlStddevAggregateFunction.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalSqlStddevAggregateFunction.java
@@ -30,9 +30,12 @@
 
 public class LocalSqlStddevAggregateFunction extends AbstractSingleVarStatisticsAggregateFunction {
 
-    public LocalSqlStddevAggregateFunction(IScalarEvaluatorFactory[] args, IHyracksTaskContext context,
+    private final boolean isPop;
+
+    public LocalSqlStddevAggregateFunction(IScalarEvaluatorFactory[] args, IHyracksTaskContext context, boolean isPop,
             SourceLocation sourceLoc) throws HyracksDataException {
         super(args, context, sourceLoc);
+        this.isPop = isPop;
     }
 
     @Override
@@ -56,6 +59,10 @@
 
     @Override
     protected FunctionIdentifier getFunctionIdentifier() {
-        return BuiltinFunctions.STDDEV;
+        if (isPop) {
+            return BuiltinFunctions.STDDEV_POP;
+        } else {
+            return BuiltinFunctions.STDDEV;
+        }
     }
 }
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalSqlStddevPopAggregateDescriptor.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalSqlStddevPopAggregateDescriptor.java
new file mode 100644
index 0000000..74eb2a7
--- /dev/null
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalSqlStddevPopAggregateDescriptor.java
@@ -0,0 +1,60 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.asterix.runtime.aggregates.std;
+
+import org.apache.asterix.om.functions.BuiltinFunctions;
+import org.apache.asterix.om.functions.IFunctionDescriptor;
+import org.apache.asterix.om.functions.IFunctionDescriptorFactory;
+import org.apache.asterix.runtime.aggregates.base.AbstractAggregateFunctionDynamicDescriptor;
+import org.apache.hyracks.algebricks.core.algebra.functions.FunctionIdentifier;
+import org.apache.hyracks.algebricks.runtime.base.IAggregateEvaluator;
+import org.apache.hyracks.algebricks.runtime.base.IAggregateEvaluatorFactory;
+import org.apache.hyracks.algebricks.runtime.base.IScalarEvaluatorFactory;
+import org.apache.hyracks.api.context.IHyracksTaskContext;
+import org.apache.hyracks.api.exceptions.HyracksDataException;
+
+public class LocalSqlStddevPopAggregateDescriptor extends AbstractAggregateFunctionDynamicDescriptor {
+
+    private static final long serialVersionUID = 1L;
+    public static final IFunctionDescriptorFactory FACTORY = new IFunctionDescriptorFactory() {
+        @Override
+        public IFunctionDescriptor createFunctionDescriptor() {
+            return new LocalSqlStddevPopAggregateDescriptor();
+        }
+    };
+
+    @Override
+    public FunctionIdentifier getIdentifier() {
+        return BuiltinFunctions.LOCAL_SQL_STDDEV_POP;
+    }
+
+    @Override
+    public IAggregateEvaluatorFactory createAggregateEvaluatorFactory(final IScalarEvaluatorFactory[] args) {
+        return new IAggregateEvaluatorFactory() {
+            private static final long serialVersionUID = 1L;
+
+            @Override
+            public IAggregateEvaluator createAggregateEvaluator(final IHyracksTaskContext ctx)
+                    throws HyracksDataException {
+                return new LocalSqlStddevAggregateFunction(args, ctx, true, sourceLoc);
+            }
+        };
+    }
+}
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalStddevAggregateDescriptor.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalStddevAggregateDescriptor.java
index 79bea48..9cd6b5d 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalStddevAggregateDescriptor.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalStddevAggregateDescriptor.java
@@ -53,7 +53,7 @@
             @Override
             public IAggregateEvaluator createAggregateEvaluator(final IHyracksTaskContext ctx)
                     throws HyracksDataException {
-                return new LocalStddevAggregateFunction(args, ctx, sourceLoc);
+                return new LocalStddevAggregateFunction(args, ctx, false, sourceLoc);
             }
         };
     }
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalStddevAggregateFunction.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalStddevAggregateFunction.java
index 7ebdb1f..c9cf9a7 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalStddevAggregateFunction.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalStddevAggregateFunction.java
@@ -31,9 +31,12 @@
 
 public class LocalStddevAggregateFunction extends AbstractSingleVarStatisticsAggregateFunction {
 
-    public LocalStddevAggregateFunction(IScalarEvaluatorFactory[] args, IHyracksTaskContext context,
+    private final boolean isPop;
+
+    public LocalStddevAggregateFunction(IScalarEvaluatorFactory[] args, IHyracksTaskContext context, boolean isPop,
             SourceLocation sourceLoc) throws HyracksDataException {
         super(args, context, sourceLoc);
+        this.isPop = isPop;
     }
 
     @Override
@@ -63,7 +66,11 @@
 
     @Override
     protected FunctionIdentifier getFunctionIdentifier() {
-        return BuiltinFunctions.STDDEV;
+        if (isPop) {
+            return BuiltinFunctions.STDDEV_POP;
+        } else {
+            return BuiltinFunctions.STDDEV;
+        }
     }
 
 }
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalStddevPopAggregateDescriptor.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalStddevPopAggregateDescriptor.java
new file mode 100644
index 0000000..d74cf7e
--- /dev/null
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalStddevPopAggregateDescriptor.java
@@ -0,0 +1,60 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.asterix.runtime.aggregates.std;
+
+import org.apache.asterix.om.functions.BuiltinFunctions;
+import org.apache.asterix.om.functions.IFunctionDescriptor;
+import org.apache.asterix.om.functions.IFunctionDescriptorFactory;
+import org.apache.asterix.runtime.aggregates.base.AbstractAggregateFunctionDynamicDescriptor;
+import org.apache.hyracks.algebricks.core.algebra.functions.FunctionIdentifier;
+import org.apache.hyracks.algebricks.runtime.base.IAggregateEvaluator;
+import org.apache.hyracks.algebricks.runtime.base.IAggregateEvaluatorFactory;
+import org.apache.hyracks.algebricks.runtime.base.IScalarEvaluatorFactory;
+import org.apache.hyracks.api.context.IHyracksTaskContext;
+import org.apache.hyracks.api.exceptions.HyracksDataException;
+
+public class LocalStddevPopAggregateDescriptor extends AbstractAggregateFunctionDynamicDescriptor {
+
+    private static final long serialVersionUID = 1L;
+    public static final IFunctionDescriptorFactory FACTORY = new IFunctionDescriptorFactory() {
+        @Override
+        public IFunctionDescriptor createFunctionDescriptor() {
+            return new LocalStddevPopAggregateDescriptor();
+        }
+    };
+
+    @Override
+    public FunctionIdentifier getIdentifier() {
+        return BuiltinFunctions.LOCAL_STDDEV_POP;
+    }
+
+    @Override
+    public IAggregateEvaluatorFactory createAggregateEvaluatorFactory(final IScalarEvaluatorFactory[] args) {
+        return new IAggregateEvaluatorFactory() {
+            private static final long serialVersionUID = 1L;
+
+            @Override
+            public IAggregateEvaluator createAggregateEvaluator(final IHyracksTaskContext ctx)
+                    throws HyracksDataException {
+                return new LocalStddevAggregateFunction(args, ctx, true, sourceLoc);
+            }
+        };
+    }
+}
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/SqlStddevAggregateDescriptor.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/SqlStddevAggregateDescriptor.java
index 41cc3ee..0124aec 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/SqlStddevAggregateDescriptor.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/SqlStddevAggregateDescriptor.java
@@ -53,7 +53,7 @@
             @Override
             public IAggregateEvaluator createAggregateEvaluator(final IHyracksTaskContext ctx)
                     throws HyracksDataException {
-                return new SqlStddevAggregateFunction(args, ctx, sourceLoc);
+                return new SqlStddevAggregateFunction(args, ctx, false, sourceLoc);
             }
         };
     }
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/SqlStddevAggregateFunction.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/SqlStddevAggregateFunction.java
index 962d351..97807a0 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/SqlStddevAggregateFunction.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/SqlStddevAggregateFunction.java
@@ -30,9 +30,18 @@
 
 public class SqlStddevAggregateFunction extends AbstractSingleVarStatisticsAggregateFunction {
 
-    public SqlStddevAggregateFunction(IScalarEvaluatorFactory[] args, IHyracksTaskContext context,
+    private final boolean isPop;
+    private final int delta;
+
+    public SqlStddevAggregateFunction(IScalarEvaluatorFactory[] args, IHyracksTaskContext context, boolean isPop,
             SourceLocation sourceLoc) throws HyracksDataException {
         super(args, context, sourceLoc);
+        this.isPop = isPop;
+        if (isPop) {
+            delta = 0;
+        } else {
+            delta = 1;
+        }
     }
 
     @Override
@@ -42,7 +51,7 @@
 
     @Override
     public void finish(IPointable result) throws HyracksDataException {
-        finishStddevFinalResults(result);
+        finishStddevFinalResults(result, delta);
     }
 
     @Override
@@ -56,6 +65,10 @@
 
     @Override
     protected FunctionIdentifier getFunctionIdentifier() {
-        return BuiltinFunctions.STDDEV;
+        if (isPop) {
+            return BuiltinFunctions.STDDEV_POP;
+        } else {
+            return BuiltinFunctions.STDDEV;
+        }
     }
 }
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/SqlStddevPopAggregateDescriptor.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/SqlStddevPopAggregateDescriptor.java
new file mode 100644
index 0000000..06b8cd4
--- /dev/null
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/SqlStddevPopAggregateDescriptor.java
@@ -0,0 +1,61 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.asterix.runtime.aggregates.std;
+
+import org.apache.asterix.om.functions.BuiltinFunctions;
+import org.apache.asterix.om.functions.IFunctionDescriptor;
+import org.apache.asterix.om.functions.IFunctionDescriptorFactory;
+import org.apache.asterix.runtime.aggregates.base.AbstractAggregateFunctionDynamicDescriptor;
+import org.apache.hyracks.algebricks.core.algebra.functions.FunctionIdentifier;
+import org.apache.hyracks.algebricks.runtime.base.IAggregateEvaluator;
+import org.apache.hyracks.algebricks.runtime.base.IAggregateEvaluatorFactory;
+import org.apache.hyracks.algebricks.runtime.base.IScalarEvaluatorFactory;
+import org.apache.hyracks.api.context.IHyracksTaskContext;
+import org.apache.hyracks.api.exceptions.HyracksDataException;
+
+public class SqlStddevPopAggregateDescriptor extends AbstractAggregateFunctionDynamicDescriptor {
+
+    private static final long serialVersionUID = 1L;
+    public static final IFunctionDescriptorFactory FACTORY = new IFunctionDescriptorFactory() {
+        @Override
+        public IFunctionDescriptor createFunctionDescriptor() {
+            return new SqlStddevPopAggregateDescriptor();
+        }
+    };
+
+    @Override
+    public FunctionIdentifier getIdentifier() {
+        return BuiltinFunctions.SQL_STDDEV_POP;
+    }
+
+    @Override
+    public IAggregateEvaluatorFactory createAggregateEvaluatorFactory(final IScalarEvaluatorFactory[] args) {
+        return new IAggregateEvaluatorFactory() {
+            private static final long serialVersionUID = 1L;
+
+            @Override
+            public IAggregateEvaluator createAggregateEvaluator(final IHyracksTaskContext ctx)
+                    throws HyracksDataException {
+                return new SqlStddevAggregateFunction(args, ctx, true, sourceLoc);
+            }
+        };
+    }
+
+}
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/StddevAggregateDescriptor.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/StddevAggregateDescriptor.java
index 0b6bb5b..07dcbd0 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/StddevAggregateDescriptor.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/StddevAggregateDescriptor.java
@@ -53,7 +53,7 @@
             @Override
             public IAggregateEvaluator createAggregateEvaluator(final IHyracksTaskContext ctx)
                     throws HyracksDataException {
-                return new StddevAggregateFunction(args, ctx, sourceLoc);
+                return new StddevAggregateFunction(args, ctx, false, sourceLoc);
             }
         };
     }
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/StddevAggregateFunction.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/StddevAggregateFunction.java
index 7b5e423..553562e 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/StddevAggregateFunction.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/StddevAggregateFunction.java
@@ -31,9 +31,18 @@
 
 public class StddevAggregateFunction extends AbstractSingleVarStatisticsAggregateFunction {
 
-    public StddevAggregateFunction(IScalarEvaluatorFactory[] args, IHyracksTaskContext context,
+    private final boolean isPop;
+    private final int delta;
+
+    public StddevAggregateFunction(IScalarEvaluatorFactory[] args, IHyracksTaskContext context, boolean isPop,
             SourceLocation sourceLoc) throws HyracksDataException {
         super(args, context, sourceLoc);
+        this.isPop = isPop;
+        if (isPop) {
+            delta = 0;
+        } else {
+            delta = 1;
+        }
     }
 
     @Override
@@ -43,7 +52,7 @@
 
     @Override
     public void finish(IPointable result) throws HyracksDataException {
-        finishStddevFinalResults(result);
+        finishStddevFinalResults(result, delta);
     }
 
     @Override
@@ -63,7 +72,11 @@
 
     @Override
     protected FunctionIdentifier getFunctionIdentifier() {
-        return BuiltinFunctions.STDDEV;
+        if (isPop) {
+            return BuiltinFunctions.STDDEV_POP;
+        } else {
+            return BuiltinFunctions.STDDEV;
+        }
     }
 
 }
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/StddevPopAggregateDescriptor.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/StddevPopAggregateDescriptor.java
new file mode 100644
index 0000000..48dcea8
--- /dev/null
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/StddevPopAggregateDescriptor.java
@@ -0,0 +1,61 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.asterix.runtime.aggregates.std;
+
+import org.apache.asterix.om.functions.BuiltinFunctions;
+import org.apache.asterix.om.functions.IFunctionDescriptor;
+import org.apache.asterix.om.functions.IFunctionDescriptorFactory;
+import org.apache.asterix.runtime.aggregates.base.AbstractAggregateFunctionDynamicDescriptor;
+import org.apache.hyracks.algebricks.core.algebra.functions.FunctionIdentifier;
+import org.apache.hyracks.algebricks.runtime.base.IAggregateEvaluator;
+import org.apache.hyracks.algebricks.runtime.base.IAggregateEvaluatorFactory;
+import org.apache.hyracks.algebricks.runtime.base.IScalarEvaluatorFactory;
+import org.apache.hyracks.api.context.IHyracksTaskContext;
+import org.apache.hyracks.api.exceptions.HyracksDataException;
+
+public class StddevPopAggregateDescriptor extends AbstractAggregateFunctionDynamicDescriptor {
+
+    private static final long serialVersionUID = 1L;
+    public static final IFunctionDescriptorFactory FACTORY = new IFunctionDescriptorFactory() {
+        @Override
+        public IFunctionDescriptor createFunctionDescriptor() {
+            return new StddevPopAggregateDescriptor();
+        }
+    };
+
+    @Override
+    public FunctionIdentifier getIdentifier() {
+        return BuiltinFunctions.STDDEV_POP;
+    }
+
+    @Override
+    public IAggregateEvaluatorFactory createAggregateEvaluatorFactory(final IScalarEvaluatorFactory[] args) {
+        return new IAggregateEvaluatorFactory() {
+            private static final long serialVersionUID = 1L;
+
+            @Override
+            public IAggregateEvaluator createAggregateEvaluator(final IHyracksTaskContext ctx)
+                    throws HyracksDataException {
+                return new StddevAggregateFunction(args, ctx, true, sourceLoc);
+            }
+        };
+    }
+
+}
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/functions/FunctionCollection.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/functions/FunctionCollection.java
index 5affbca..c8f1238 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/functions/FunctionCollection.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/functions/FunctionCollection.java
@@ -40,30 +40,40 @@
 import org.apache.asterix.runtime.aggregates.scalar.ScalarSqlMaxAggregateDescriptor;
 import org.apache.asterix.runtime.aggregates.scalar.ScalarSqlMinAggregateDescriptor;
 import org.apache.asterix.runtime.aggregates.scalar.ScalarSqlStddevAggregateDescriptor;
+import org.apache.asterix.runtime.aggregates.scalar.ScalarSqlStddevPopAggregateDescriptor;
 import org.apache.asterix.runtime.aggregates.scalar.ScalarSqlSumAggregateDescriptor;
 import org.apache.asterix.runtime.aggregates.scalar.ScalarStddevAggregateDescriptor;
+import org.apache.asterix.runtime.aggregates.scalar.ScalarStddevPopAggregateDescriptor;
 import org.apache.asterix.runtime.aggregates.scalar.ScalarSumAggregateDescriptor;
 import org.apache.asterix.runtime.aggregates.serializable.std.SerializableAvgAggregateDescriptor;
 import org.apache.asterix.runtime.aggregates.serializable.std.SerializableCountAggregateDescriptor;
 import org.apache.asterix.runtime.aggregates.serializable.std.SerializableGlobalAvgAggregateDescriptor;
 import org.apache.asterix.runtime.aggregates.serializable.std.SerializableGlobalSqlAvgAggregateDescriptor;
 import org.apache.asterix.runtime.aggregates.serializable.std.SerializableGlobalSqlStddevAggregateDescriptor;
+import org.apache.asterix.runtime.aggregates.serializable.std.SerializableGlobalSqlStddevPopAggregateDescriptor;
 import org.apache.asterix.runtime.aggregates.serializable.std.SerializableGlobalStddevAggregateDescriptor;
+import org.apache.asterix.runtime.aggregates.serializable.std.SerializableGlobalStddevPopAggregateDescriptor;
 import org.apache.asterix.runtime.aggregates.serializable.std.SerializableIntermediateAvgAggregateDescriptor;
 import org.apache.asterix.runtime.aggregates.serializable.std.SerializableIntermediateSqlAvgAggregateDescriptor;
 import org.apache.asterix.runtime.aggregates.serializable.std.SerializableIntermediateSqlStddevAggregateDescriptor;
+import org.apache.asterix.runtime.aggregates.serializable.std.SerializableIntermediateSqlStddevPopAggregateDescriptor;
 import org.apache.asterix.runtime.aggregates.serializable.std.SerializableIntermediateStddevAggregateDescriptor;
+import org.apache.asterix.runtime.aggregates.serializable.std.SerializableIntermediateStddevPopAggregateDescriptor;
 import org.apache.asterix.runtime.aggregates.serializable.std.SerializableLocalAvgAggregateDescriptor;
 import org.apache.asterix.runtime.aggregates.serializable.std.SerializableLocalSqlAvgAggregateDescriptor;
 import org.apache.asterix.runtime.aggregates.serializable.std.SerializableLocalSqlStddevAggregateDescriptor;
+import org.apache.asterix.runtime.aggregates.serializable.std.SerializableLocalSqlStddevPopAggregateDescriptor;
 import org.apache.asterix.runtime.aggregates.serializable.std.SerializableLocalStddevAggregateDescriptor;
+import org.apache.asterix.runtime.aggregates.serializable.std.SerializableLocalStddevPopAggregateDescriptor;
 import org.apache.asterix.runtime.aggregates.serializable.std.SerializableLocalSqlSumAggregateDescriptor;
 import org.apache.asterix.runtime.aggregates.serializable.std.SerializableLocalSumAggregateDescriptor;
 import org.apache.asterix.runtime.aggregates.serializable.std.SerializableSqlAvgAggregateDescriptor;
 import org.apache.asterix.runtime.aggregates.serializable.std.SerializableSqlCountAggregateDescriptor;
 import org.apache.asterix.runtime.aggregates.serializable.std.SerializableSqlStddevAggregateDescriptor;
+import org.apache.asterix.runtime.aggregates.serializable.std.SerializableSqlStddevPopAggregateDescriptor;
 import org.apache.asterix.runtime.aggregates.serializable.std.SerializableSqlSumAggregateDescriptor;
 import org.apache.asterix.runtime.aggregates.serializable.std.SerializableStddevAggregateDescriptor;
+import org.apache.asterix.runtime.aggregates.serializable.std.SerializableStddevPopAggregateDescriptor;
 import org.apache.asterix.runtime.aggregates.serializable.std.SerializableSumAggregateDescriptor;
 import org.apache.asterix.runtime.aggregates.std.AvgAggregateDescriptor;
 import org.apache.asterix.runtime.aggregates.std.CountAggregateDescriptor;
@@ -71,11 +81,15 @@
 import org.apache.asterix.runtime.aggregates.std.RangeMapAggregateDescriptor;
 import org.apache.asterix.runtime.aggregates.std.GlobalSqlAvgAggregateDescriptor;
 import org.apache.asterix.runtime.aggregates.std.GlobalSqlStddevAggregateDescriptor;
+import org.apache.asterix.runtime.aggregates.std.GlobalSqlStddevPopAggregateDescriptor;
 import org.apache.asterix.runtime.aggregates.std.GlobalStddevAggregateDescriptor;
+import org.apache.asterix.runtime.aggregates.std.GlobalStddevPopAggregateDescriptor;
 import org.apache.asterix.runtime.aggregates.std.IntermediateAvgAggregateDescriptor;
 import org.apache.asterix.runtime.aggregates.std.IntermediateSqlAvgAggregateDescriptor;
 import org.apache.asterix.runtime.aggregates.std.IntermediateSqlStddevAggregateDescriptor;
+import org.apache.asterix.runtime.aggregates.std.IntermediateSqlStddevPopAggregateDescriptor;
 import org.apache.asterix.runtime.aggregates.std.IntermediateStddevAggregateDescriptor;
+import org.apache.asterix.runtime.aggregates.std.IntermediateStddevPopAggregateDescriptor;
 import org.apache.asterix.runtime.aggregates.std.LocalAvgAggregateDescriptor;
 import org.apache.asterix.runtime.aggregates.std.LocalMaxAggregateDescriptor;
 import org.apache.asterix.runtime.aggregates.std.LocalMinAggregateDescriptor;
@@ -84,8 +98,10 @@
 import org.apache.asterix.runtime.aggregates.std.LocalSqlMaxAggregateDescriptor;
 import org.apache.asterix.runtime.aggregates.std.LocalSqlMinAggregateDescriptor;
 import org.apache.asterix.runtime.aggregates.std.LocalSqlStddevAggregateDescriptor;
+import org.apache.asterix.runtime.aggregates.std.LocalSqlStddevPopAggregateDescriptor;
 import org.apache.asterix.runtime.aggregates.std.LocalSqlSumAggregateDescriptor;
 import org.apache.asterix.runtime.aggregates.std.LocalStddevAggregateDescriptor;
+import org.apache.asterix.runtime.aggregates.std.LocalStddevPopAggregateDescriptor;
 import org.apache.asterix.runtime.aggregates.std.LocalSumAggregateDescriptor;
 import org.apache.asterix.runtime.aggregates.std.MaxAggregateDescriptor;
 import org.apache.asterix.runtime.aggregates.std.MinAggregateDescriptor;
@@ -94,8 +110,10 @@
 import org.apache.asterix.runtime.aggregates.std.SqlMaxAggregateDescriptor;
 import org.apache.asterix.runtime.aggregates.std.SqlMinAggregateDescriptor;
 import org.apache.asterix.runtime.aggregates.std.SqlStddevAggregateDescriptor;
+import org.apache.asterix.runtime.aggregates.std.SqlStddevPopAggregateDescriptor;
 import org.apache.asterix.runtime.aggregates.std.SqlSumAggregateDescriptor;
 import org.apache.asterix.runtime.aggregates.std.StddevAggregateDescriptor;
+import org.apache.asterix.runtime.aggregates.std.StddevPopAggregateDescriptor;
 import org.apache.asterix.runtime.aggregates.std.SumAggregateDescriptor;
 import org.apache.asterix.runtime.aggregates.stream.EmptyStreamAggregateDescriptor;
 import org.apache.asterix.runtime.aggregates.stream.NonEmptyStreamAggregateDescriptor;
@@ -462,6 +480,10 @@
         fc.add(GlobalStddevAggregateDescriptor.FACTORY);
         fc.add(LocalSamplingAggregateDescriptor.FACTORY);
         fc.add(RangeMapAggregateDescriptor.FACTORY);
+        fc.add(StddevPopAggregateDescriptor.FACTORY);
+        fc.add(LocalStddevPopAggregateDescriptor.FACTORY);
+        fc.add(IntermediateStddevPopAggregateDescriptor.FACTORY);
+        fc.add(GlobalStddevPopAggregateDescriptor.FACTORY);
 
         // serializable aggregates
         fc.add(SerializableCountAggregateDescriptor.FACTORY);
@@ -475,6 +497,10 @@
         fc.add(SerializableLocalStddevAggregateDescriptor.FACTORY);
         fc.add(SerializableIntermediateStddevAggregateDescriptor.FACTORY);
         fc.add(SerializableGlobalStddevAggregateDescriptor.FACTORY);
+        fc.add(SerializableStddevPopAggregateDescriptor.FACTORY);
+        fc.add(SerializableLocalStddevPopAggregateDescriptor.FACTORY);
+        fc.add(SerializableIntermediateStddevPopAggregateDescriptor.FACTORY);
+        fc.add(SerializableGlobalStddevPopAggregateDescriptor.FACTORY);
 
         // scalar aggregates
         fc.add(ScalarCountAggregateDescriptor.FACTORY);
@@ -485,6 +511,7 @@
         fc.add(EmptyStreamAggregateDescriptor.FACTORY);
         fc.add(NonEmptyStreamAggregateDescriptor.FACTORY);
         fc.add(ScalarStddevAggregateDescriptor.FACTORY);
+        fc.add(ScalarStddevPopAggregateDescriptor.FACTORY);
 
         // SQL aggregates
         fc.add(SqlCountAggregateDescriptor.FACTORY);
@@ -502,6 +529,10 @@
         fc.add(LocalSqlStddevAggregateDescriptor.FACTORY);
         fc.add(IntermediateSqlStddevAggregateDescriptor.FACTORY);
         fc.add(GlobalSqlStddevAggregateDescriptor.FACTORY);
+        fc.add(SqlStddevPopAggregateDescriptor.FACTORY);
+        fc.add(LocalSqlStddevPopAggregateDescriptor.FACTORY);
+        fc.add(IntermediateSqlStddevPopAggregateDescriptor.FACTORY);
+        fc.add(GlobalSqlStddevPopAggregateDescriptor.FACTORY);
 
         // SQL serializable aggregates
         fc.add(SerializableSqlCountAggregateDescriptor.FACTORY);
@@ -515,6 +546,10 @@
         fc.add(SerializableLocalSqlStddevAggregateDescriptor.FACTORY);
         fc.add(SerializableIntermediateSqlStddevAggregateDescriptor.FACTORY);
         fc.add(SerializableGlobalSqlStddevAggregateDescriptor.FACTORY);
+        fc.add(SerializableSqlStddevPopAggregateDescriptor.FACTORY);
+        fc.add(SerializableLocalSqlStddevPopAggregateDescriptor.FACTORY);
+        fc.add(SerializableIntermediateSqlStddevPopAggregateDescriptor.FACTORY);
+        fc.add(SerializableGlobalSqlStddevPopAggregateDescriptor.FACTORY);
 
         // SQL scalar aggregates
         fc.add(ScalarSqlCountAggregateDescriptor.FACTORY);
@@ -523,6 +558,7 @@
         fc.add(ScalarSqlMaxAggregateDescriptor.FACTORY);
         fc.add(ScalarSqlMinAggregateDescriptor.FACTORY);
         fc.add(ScalarSqlStddevAggregateDescriptor.FACTORY);
+        fc.add(ScalarSqlStddevPopAggregateDescriptor.FACTORY);
 
         // boolean functions
         fc.add(AndDescriptor.FACTORY);
