Re: HAVING clause working in postgres 8.0, but not in 8.2 - Mailing list pgsql-general

From Tom Lane
Subject Re: HAVING clause working in postgres 8.0, but not in 8.2
Date
Msg-id 13975.1183500793@sss.pgh.pa.us
Whole thread Raw
In response to HAVING clause working in postgres 8.0, but not in 8.2  (ujkavlade@gmail.com)
List pgsql-general
ujkavlade@gmail.com writes:
> In PostgreSql 8.0, SELECT number FROM numbers HAVING number = 5;
> returns 5

> But in 8.2, it gives me the following error: ERROR:  column
> "numbers.number" must appear in the GROUP BY clause or be used in an
> aggregate function.

> In the documentation, it says that HAVING can be used without GROUP BY
> or aggregate functions.

It can; whether it's useful or not is another question.

Per the 8.1 release notes:

    * Fix HAVING without any aggregate functions or GROUP BY so that the
      query returns a single group

      Previously, such a case would treat the HAVING clause the same as
      a WHERE clause. This was not per spec.

The above query is incorrect because it hasn't done anything to create
a grouped column.

            regards, tom lane

pgsql-general by date:

Previous
From: Niederland
Date:
Subject: Delete Performance question
Next
From: Raymond O'Donnell
Date:
Subject: Mugs 'n stuff