blob: 31a23f0ebb98581af8e66017fe73f8d4f2c1ccf4 [file] [log] [blame]
# name: test/sql/aggregate/having/test_having.test
# description: Test HAVING clause
# group: [having]
statement ok
CREATE TABLE test (a INTEGER, b INTEGER);
statement ok
INSERT INTO test VALUES (11, 22), (13, 22), (12, 21)
# HAVING with condition on group
query IR
SELECT b, SUM(a) AS sum FROM test GROUP BY b HAVING b=21 ORDER BY b;
----
21 12.000000
# HAVING with condition on sum
query IR
SELECT b, SUM(a) FROM test GROUP BY b HAVING SUM(a) < 20 ORDER BY b;
----
21 12.000000
# HAVING without alias
query IR
SELECT b, SUM(a) AS sum FROM test GROUP BY b HAVING SUM(a) < 20 ORDER BY b;
----
21 12.000000
# HAVING on column not in aggregate
query IR
SELECT b, SUM(a) AS sum FROM test GROUP BY b HAVING COUNT(*) = 1 ORDER BY b;
----
21 12.000000
# expression in having
query IR
SELECT b, SUM(a) FROM test GROUP BY b HAVING SUM(a)+10>28;
----
22 24.000000
# uncorrelated subquery in having
query IR
SELECT b, SUM(a) FROM test GROUP BY b HAVING SUM(a)>(SELECT SUM(t.a)*0.5 FROM test t);
----
22 24.000000