@@ -410,6 +410,24 @@ do_execsql_test_on_specific_db {:memory:} min_max_bare_columns_with_nulls_min {
410410 SELECT a, b, min(c) FROM t GROUP BY a;
411411} {1|a|a}
412412
413+ do_execsql_test_on_specific_db {:memory:} min_max_bare_columns_all_nulls_max {
414+ CREATE TABLE t(a, b, c);
415+ INSERT INTO t VALUES (1, 'a', NULL), (1, 'b', NULL), (1, NULL, NULL);
416+ SELECT a, b, max(c) FROM t GROUP BY a;
417+ } {1||}
418+
419+ do_execsql_test_on_specific_db {:memory:} min_max_bare_columns_all_nulls_min {
420+ CREATE TABLE t(a, b, c);
421+ INSERT INTO t VALUES (1, 'a', NULL), (1, 'b', NULL), (1, NULL, NULL);
422+ SELECT a, b, min(c) FROM t GROUP BY a;
423+ } {1||}
424+
425+ do_execsql_test_on_specific_db {:memory:} min_max_bare_columns_all_nulls_min_2 {
426+ CREATE TABLE t(a, b, c);
427+ INSERT INTO t VALUES (1, 'a', NULL), (1, NULL, NULL), (1, 'b', NULL);
428+ SELECT a, b, min(c) FROM t GROUP BY a;
429+ } {1|b|}
430+
413431do_execsql_test_on_specific_db {:memory:} min_max_bare_columns_ties_max {
414432 CREATE TABLE t(a, b, c);
415433 INSERT INTO t VALUES (1, 'a', 'x'), (1, 'b', 'x'), (1, 'c', 'y');
@@ -433,3 +451,47 @@ do_execsql_test_on_specific_db {:memory:} min_max_bare_columns_multiple_bare_col
433451 INSERT INTO t VALUES (1, 'a', 'x', 10), (1, 'b', 'y', 20), (1, 'c', 'z', 30);
434452 SELECT a, b, c, min(d) FROM t GROUP BY a;
435453} {1|a|x|10}
454+
455+ do_execsql_test_on_specific_db {:memory:} min_max_bare_columns_nulls_then_value_max {
456+ CREATE TABLE t(a, b, c);
457+ INSERT INTO t VALUES (1, 'a', NULL), (1, 'b', NULL), (1, 'c', 5);
458+ SELECT a, b, max(c) FROM t GROUP BY a;
459+ } {1|c|5}
460+
461+ do_execsql_test_on_specific_db {:memory:} min_max_bare_columns_nulls_then_value_min {
462+ CREATE TABLE t(a, b, c);
463+ INSERT INTO t VALUES (1, 'a', NULL), (1, 'b', NULL), (1, 'c', 5);
464+ SELECT a, b, min(c) FROM t GROUP BY a;
465+ } {1|c|5}
466+
467+ do_execsql_test_on_specific_db {:memory:} min_max_bare_columns_value_then_nulls_max {
468+ CREATE TABLE t(a, b, c);
469+ INSERT INTO t VALUES (1, 'a', 5), (1, 'b', NULL), (1, 'c', NULL);
470+ SELECT a, b, max(c) FROM t GROUP BY a;
471+ } {1|a|5}
472+
473+ do_execsql_test_on_specific_db {:memory:} min_max_bare_columns_value_then_nulls_min {
474+ CREATE TABLE t(a, b, c);
475+ INSERT INTO t VALUES (1, 'a', 5), (1, 'b', NULL), (1, 'c', NULL);
476+ SELECT a, b, min(c) FROM t GROUP BY a;
477+ } {1|a|5}
478+
479+ do_execsql_test_on_specific_db {:memory:} min_max_bare_columns_multiple_groups_with_nulls_max {
480+ CREATE TABLE t(a, b, c);
481+ INSERT INTO t VALUES (1, 'a', NULL), (1, 'b', NULL);
482+ INSERT INTO t VALUES (2, 'x', 5), (2, 'y', NULL);
483+ INSERT INTO t VALUES (3, 'p', NULL), (3, 'q', 10);
484+ SELECT a, b, max(c) FROM t GROUP BY a ORDER BY a;
485+ } {1|b|
486+ 2|x|5
487+ 3|q|10}
488+
489+ do_execsql_test_on_specific_db {:memory:} min_max_bare_columns_multiple_groups_with_nulls_min {
490+ CREATE TABLE t(a, b, c);
491+ INSERT INTO t VALUES (1, 'a', NULL), (1, 'b', NULL);
492+ INSERT INTO t VALUES (2, 'x', 5), (2, 'y', NULL);
493+ INSERT INTO t VALUES (3, 'p', NULL), (3, 'q', 10);
494+ SELECT a, b, min(c) FROM t GROUP BY a ORDER BY a;
495+ } {1|b|
496+ 2|x|5
497+ 3|q|10}
0 commit comments