Обсуждение: Re: max and sum function

Поиск
Список
Период
Сортировка

Re: max and sum function

От
ryanne cruz
Дата:
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

От
"Waruna Geekiyanage"
Дата:
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

От
Greg Stark
Дата:
"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