On Tue, May 13, 2008 at 5:43 PM, Nathan Thatcher <n8thatcher@xxxxxxxxx> wrote: > Is this the correct way to do this, or is there a better way / a way > to get PostgreSQL to recognize an alias in the HAVING clause? As Tom pointed out, f1's not in scope for the HAVING clause. If you're that concerned about expression duplication, you could move the calculation into a sub-select: SELECT COUNT(*), f1 FROM (SELECT id % 3 AS f1 FROM table) t1 GROUP BY f1 HAVING f1 <> 0; -- - David T. Wilson david.t.wilson@xxxxxxxxx