Re: Sorting by the maximum value of two columns - Mailing list pgsql-novice

From Michael Fuhr
Subject Re: Sorting by the maximum value of two columns
Date
Msg-id 20051005000447.GA20434@winnie.fuhr.org
Whole thread Raw
In response to Sorting by the maximum value of two columns  (David Gaudine <davidg@alcor.concordia.ca>)
List pgsql-novice
On Tue, Oct 04, 2005 at 04:59:21PM -0400, David Gaudine wrote:
> I want to use SELECT to view some records sorted (ordered?) by the
> maximum value of two fields.  I tried
>
> SELECT * FROM mytable ORDER BY MAX(column1,column2)
>
> but there's no such function.  How can I do this?

PostgreSQL 8.1 will have GREATEST and LEAST functions so you'll
be able to do this:

SELECT * FROM mytable ORDER BY GREATEST(column1, column2);

In earlier versions you can easily write your own:

CREATE FUNCTION mygreatest(anyelement, anyelement) RETURNS anyelement AS '
SELECT CASE WHEN $1 > $2 THEN $1 ELSE $2 END;
' LANGUAGE sql IMMUTABLE STRICT;

--
Michael Fuhr

pgsql-novice by date:

Previous
From: "Alvaro Cobo"
Date:
Subject: Moving from MySQL
Next
From: mike
Date:
Subject: Re: Moving from MySQL