d0ad381833
* test: add spark query unit test and check grammar * test: add select explain、lateralSubQuery、transform unit test * chore: fileName exchange --------- Co-authored-by: dilu <dilu@dtstack.com>
33 lines
1.3 KiB
SQL
33 lines
1.3 KiB
SQL
-- HAVING boolean_expression
|
|
|
|
|
|
CREATE TABLE dealer (id INT, city STRING, car_model STRING, quantity INT);
|
|
INSERT INTO dealer VALUES
|
|
(100, 'Fremont', 'Honda Civic', 10),
|
|
(100, 'Fremont', 'Honda Accord', 15),
|
|
(100, 'Fremont', 'Honda CRV', 7),
|
|
(200, 'Dublin', 'Honda Civic', 20),
|
|
(200, 'Dublin', 'Honda Accord', 10),
|
|
(200, 'Dublin', 'Honda CRV', 3),
|
|
(300, 'San Jose', 'Honda Civic', 5),
|
|
(300, 'San Jose', 'Honda Accord', 8);
|
|
|
|
-- `HAVING` clause referring to column in `GROUP BY`.
|
|
SELECT city, sum(quantity) AS sum FROM dealer GROUP BY city HAVING city = 'Fremont';
|
|
|
|
-- `HAVING` clause referring to aggregate function.
|
|
SELECT city, sum(quantity) AS sum FROM dealer GROUP BY city HAVING sum(quantity) > 15;
|
|
|
|
-- `HAVING` clause referring to aggregate function by its alias.
|
|
SELECT city, sum(quantity) AS sum FROM dealer GROUP BY city HAVING sum > 15;
|
|
|
|
-- `HAVING` clause referring to a different aggregate function than what is present in
|
|
-- `SELECT` list.
|
|
SELECT city, sum(quantity) AS sum FROM dealer GROUP BY city HAVING max(quantity) > 15;
|
|
|
|
-- `HAVING` clause referring to constant expression.
|
|
SELECT city, sum(quantity) AS sum FROM dealer GROUP BY city HAVING 1 > 0 ORDER BY city;
|
|
|
|
-- `HAVING` clause without a `GROUP BY` clause.
|
|
SELECT sum(quantity) AS sum FROM dealer HAVING sum(quantity) > 10;
|