Re: complex column definition in query

From: "A(dot) Kretschmer" <andreas(dot)kretschmer(at)schollglas(dot)com>
To: pgsql-sql(at)postgresql(dot)org
Subject: Re: complex column definition in query
Date: 2009-06-03 05:04:32
Message-ID: 20090603050432.GA18756@a-kretschmer.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

In response to Seb :
> Hi,
>
> Say we have a table:
>
> SELECT * FROM weather;
> city | temp_lo | temp_hi | prcp
> ---------------+---------+---------+-------
> San Francisco | 46 | 50 | 0.25
> San Francisco | 43 | 57 | 0
> Hayward | 37 | 54 |
> Hayward | 30 | 58 |
> Somewhere | 25 | 60 |
> Somewhere | 28 | 50 |
> (6 rows)
>
> I'm struggling to build a query with a column temp, where the first row
> is the lowest temp_lo followed by all the temp_hi for each city. So
> this would be the output:
>
> city | temp
> ---------------+------
> San Francisco | 43
> San Francisco | 50
> San Francisco | 57
> Hayward | 30
> Hayward | 54
> Hayward | 58
> Somewhere | 25
> Somewhere | 60
> Somewhere | 50
> (6 rows)
>
> Any ideas appreciated! Thanks.

test=# select * from weather ;
city | temp_lo | temp_hi
---------------+---------+---------
San Francisco | 46 | 50
San Francisco | 43 | 57
Hayward | 37 | 54
Hayward | 30 | 58
(4 rows)

test=*# select city, min(temp_lo) as temp from weather group by city union all select city, temp_hi from weather order by 1,2;
city | temp
---------------+------
Hayward | 30
Hayward | 54
Hayward | 58
San Francisco | 43
San Francisco | 50
San Francisco | 57
(6 rows)

HTH, Andreas
--
Andreas Kretschmer
Kontakt: Heynitz: 035242/47150, D1: 0160/7141639 (mehr: -> Header)
GnuPG-ID: 0x3FFF606C, privat 0x7F4584DA http://wwwkeys.de.pgp.net

In response to

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Jyoti Seth 2009-06-03 12:00:23 Creation of file from postgresql function
Previous Message Bruce Momjian 2009-06-03 00:56:12 Re: [SQL] proposal for a CookBook in postgresql.org