Re: I need an aggregate with 2 parameters
От | Michael Fork |
---|---|
Тема | Re: I need an aggregate with 2 parameters |
Дата | |
Msg-id | Pine.BSI.4.21.0103121604230.3566-100000@glass.toledolink.com обсуждение исходный текст |
Ответ на | I need an aggregate with 2 parameters (Salvador Mainé <salvamaine@yahoo.com>) |
Список | pgsql-sql |
This should work: SELECT day, rain FROM meteo WHERE rain = (SELECT max(rain) FROM meteo WHERE date_part('year', day) = '2001') Michael Fork - CCNA - MCP - A+ Network Support - Toledo Internet Access - Toledo Ohio On Thu, 8 Mar 2001, Salvador [iso-8859-1] Main� wrote: > Hello: > > I have a table with pluviometrical data > > meteo (rain float, day date, oid station) > > I want to select the the day of maximum value for each year for a given > measurement station. It should look like : > > select max(rain),day from meteo group by date_part('year', day) where > station=7654765; > > though it obiously doesn't work. > > I think that an aggregate function would be the best way to do this, > because the table is quite large and I need indexes for date and also > for stations, so adding a new one for the rain is too much. But the > aggregate should look like: > > max_rain(rain, day) and return the day corresponding to the maximum > rain, So the query would be something like: > > select max(rain), max_rain(rain, day) from meteo group by > date_part('year', day) where station=47654765; > > I've tried to define a composite type for rain and day and the neccesary > functions to make the aggregate, but I cannot find the correct way. Can > someone help me? Is this sollution possible? > > -- > Salvador Maine > http://www.ronincoders.com >
В списке pgsql-sql по дате отправления: