- Documentation
- Reference manual
- Packages
- Constraint Query Language A high level interface to SQL databases
- library(cql/cql): CQL - Constraint Query Language
- CQL Examples
- CQL Simple INSERT
- CQL Simple INSERT with retrieval of identity of the inserted
- CQL Simple DELETE
- CQL Simple SELECT
- CQL Simple UPDATE
- CQL WHERE with arithmetic comparison
- CQL Simple INNER JOIN
- CQL Arithmetic UPDATE with an INNER JOIN and a WHERE restriction
- CQL: Confirm row does not exist
- CQL: Aggregation - Count
- CQL: Aggregation - Sum
- CQL: Aggregation - Average
- CQL: Maximum Value
- CQL: Minimum Value
- CQL: Aggregation requiring GROUP BY
- CQL: INNER JOIN with an aggregation sub-query where the sub-query is constrained by a shared variable from the main query
- CQL: INNER JOIN in an aggregation sub-query
- CQL: Negation
- CQL: EXISTS
- CQL: Left Outer Join
- CQL: List-based Restrictions
- CQL: Compile time in-list constraint
- CQL: Disjunction resulting in OR in WHERE clause
- CQL: Disjunction resulting in different joins (implemented as a SQL UNION)
- CQL: Disjunction resulting in different SELECT attributes (implemented as separate ODBC queries)
- CQL: ORDER BY
- CQL: DISTINCT
- CQL: SELECT with NOT NULL restriction
- CQL: First N
- CQL: Self JOIN
- CQL: Removing null comparisions
- CQL: Three table JOIN
- CQL: Three table JOIN with NOLOCK locking hint
- CQL: SELECT with LIKE
- CQL: Writing exceptions directly to the database
- CQL: TOP N is Parametric
- CQL: Using compile_time_goal/1
- CQL: ON
- CQL: Expressions In Where Restrictions
- CQL: Explicitly avoid the "No WHERE restriction" message
- CQL: HAVING
- CQL: INSERT and UPDATE value in-line formatting
- CQL: Negations in WHERE Clauses
- CQL: Predicate-generated Attribute Values
- CQL: INSERT from SELECT
- CQL Examples
- library(cql/cql): CQL - Constraint Query Language
- Constraint Query Language A high level interface to SQL databases
1.7.41 CQL: HAVING
HAVING restrictions can be specified. For example:
{[], se_lt_z :: [sum(i)-I, g-G], group_by([G]), having(I > 30)}
For a description of HAVING see http://en.wikipedia.org/wiki/Having_(SQL)
There is one important difference between SQL HAVING and SQL WHERE clauses. The SQL WHERE clause condition is tested against each and every row of data, while the SQL HAVING clause condition is tested against the groups and/or aggregates specified in the SQL GROUP BY clause and/or the SQL SELECT column list.