Re: Find min and max values across two columns? - Mailing list pgsql-sql

From Jim C. Nasby
Subject Re: Find min and max values across two columns?
Date
Msg-id 20060327135629.GM80726@pervasive.com
Whole thread Raw
In response to Re: Find min and max values across two columns?  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-sql
On Fri, Mar 24, 2006 at 04:00:35PM -0500, Tom Lane wrote:
> Amos Hayes <ahayes@polkaroo.net> writes:
> > I'm trying to build a query that among other things, returns the  
> > minimum and maximum values contained in either of two columns.
> 
> I think you might be looking for
> 
>     select greatest(max(columnA), max(columnB)) from tab;
>     select least(min(columnA), min(columnB)) from tab;
> 
> greatest/least are relatively new but you can roll your own in
> older PG releases.

And if you care about performance you might also try:

SELECT max(greatest(column_a, column_b) ...
SELECT min(least(column_a, column_b) ...

There may be a difference in performance between the two.
-- 
Jim C. Nasby, Sr. Engineering Consultant      jnasby@pervasive.com
Pervasive Software      http://pervasive.com    work: 512-231-6117
vcard: http://jim.nasby.net/pervasive.vcf       cell: 512-569-9461


pgsql-sql by date:

Previous
From: "Jim C. Nasby"
Date:
Subject: Re: Question about One to Many relationships
Next
From: Markus Schaber
Date:
Subject: Re: Problem using set-returning functions