Dear Josh,

if you sort by AGE then the order will be young -> old or vice versa. 
I'd like to have the list sorted as interval birthDAY, birthMONTH and 
DAY from NOW() and MONTH from NOW().

example:

22.06.64 Person-1
26.06.50 Person-2
01.08.69 Person-3
02.08.71 Person-4
...

of course you could sort by DOY but then you'll have a problem w/ the 
next year:

if it's let's say december and you select the list for the next 60 days,
persons having birthday in december will appear after persons having 
birthday in january.

I tried to use CASE WHEN... THEN in ORDER BY but it doesn't seem to work 
(syntax error at '')

M.



Josh Berkus wrote:

> Michael,
> 
> 
>>SELECT *
>>FROM Persons
>>WHERE EXTRACT( YEAR FROM AGE(dateofbirth) ) < EXTRACT( YEAR FROM AGE( 
>>CURRENT_DATE+60, dateofbirth ) )
>>
>>... but how do I sort the list ?
>>
> 
> Easy:
> 
> SELECT person_name, person_department,  EXTRACT( YEAR FROM AGE(dateofbirth) ) 
> as their_age
> FROM Persons
> WHERE EXTRACT( YEAR FROM AGE(dateofbirth) ) < EXTRACT( YEAR FROM AGE( 
> CURRENT_DATE+60, dateofbirth ) )
> ORDER BY their_age, person_name
> 
> As an example.
> 
> 
> 
> 
> 
> 



---------------------------(end of broadcast)---------------------------
TIP 5: Have you checked our extensive FAQ?

http://www.postgresql.org/users-lounge/docs/faq.html

Reply via email to