Reduce Calculations in SELECT

From: "Carel Combrink" <s25291930(at)tuks(dot)co(dot)za>
To: "PostgreSQL Novice List" <pgsql-novice(at)postgresql(dot)org>
Subject: Reduce Calculations in SELECT
Date: 2010-08-31 14:16:46
Views: Raw Message | Whole Thread | Download mbox
Lists: pgsql-novice


I have a SELECT statement that does the following (example only,
actual query more complex):
SELECT, mod(, foo.two)
FROM my_table AS foo
WHERE mod(, foo.two) > 2
AND mod(, foo.two) < 6;

Mod is an expensive operation and it is calculated 3 times for the
same set of inputs. How can I get it to only calculate it once and and
use the result in the WHERE clause and return the value of the mod?

For this test my_table looks as follow:
=> SELECT * from my_table;
id | one | two
1 | 5 | 6
2 | 1 | 5
3 | 9 | 3
(3 rows)

Thank you
Carel Combrink

This message and attachments are subject to a disclaimer. Please refer
to for full
details. / Hierdie boodskap en aanhangsels is aan 'n vrywaringsklousule
onderhewig. Volledige besonderhede is by beskikbaar.


Browse pgsql-novice by date

  From Date Subject
Next Message Tom Lane 2010-08-31 14:21:58 Re: Function Returning Table/Record
Previous Message SUNDAY A. OLUTAYO 2010-08-31 14:12:03 Re: Django + Postgressql