Thread: Re: max and sum function

Re: max and sum function

From
ryanne cruz
Date:
hi list.

does anyone here knows of a function that is similar to the sum function but
involves more than one column? for example, i have a table with columns id,
col1, col2 and col3. i want to get the max value from the three columns gruped
by an id.

what i came up with is something like this:

max1=select max(one) from (select sum(col1) as one from table group by id);
max2=select max(two) from (select sum(col2) as two from table group by id);
max3=select max(three) from (select sum(col3) as three from table group by
id);

then i compare the 3 max values and get the maximum of the 3.

is there an easier way to do this?

thanks.

ryanne



Re: max and sum function

From
"Waruna Geekiyanage"
Date:
SELECT MAX(aa.res) from ((select sum(col1) as res from table group by id)
UNION
(select sum(col2) as res from table group by id)
UNION
(select sum(col3) as res from table group by id)) AS aa;
----- Original Message -----
From: "ryanne cruz" <ryanne.cruz@up.edu.ph>
To: <pgsql-php@postgresql.org>
Sent: Sunday, 23 March, 2003 9:47 AM
Subject: Re: [PHP] max and sum function


hi list.

does anyone here knows of a function that is similar to the sum function but
involves more than one column? for example, i have a table with columns id,
col1, col2 and col3. i want to get the max value from the three columns
gruped
by an id.

what i came up with is something like this:

max1=select max(one) from (select sum(col1) as one from table group by id);
max2=select max(two) from (select sum(col2) as two from table group by id);
max3=select max(three) from (select sum(col3) as three from table group by
id);


then i compare the 3 max values and get the maximum of the 3.

is there an easier way to do this?

thanks.

ryanne



---------------------------(end of broadcast)---------------------------
TIP 3: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to majordomo@postgresql.org so that your
message can get through to the mailing list cleanly


Re: max and sum function

From
Greg Stark
Date:
"Waruna Geekiyanage" <waruna@nirmani.com> writes:

> does anyone here knows of a function that is similar to the sum function but
> involves more than one column? for example, i have a table with columns id,
> col1, col2 and col3. i want to get the max value from the three columns
> gruped
> by an id.
>
> what i came up with is something like this:
>
> max1=select max(one) from (select sum(col1) as one from table group by id);
> max2=select max(two) from (select sum(col2) as two from table group by id);
> max3=select max(three) from (select sum(col3) as three from table group by
> id);

select int4larger(int4larger(max(one),max(two)),max(three)) from table group by id;

I'm a bit stumped why it seems I have to use "int4larger" and just "larger"
doesn't work like with most functions. There must be a right way to do it
without hard coding the datatype.

--
greg