Thread: Order by birthdate

Order by birthdate

From
Tim J Trowbridge
Date:
I'm trying to generate a birthday list ordered by month, then by day.
This is what I thought would work...

SELECT name,birthdate FROM table WHERE birthdate is not null ORDER BY
date_part('month',birthdate)

but psql returns:

ERROR:  parser: parse error at or near "("

What's the problem?

--
Tim J Trowbridge                         trowbrid@writeme.com
Interested in my genealogy?          http://www.execpc.com/~trowbrid

Re: [SQL] Order by birthdate

From
Marin D
Date:

On Wed, 10 Jun 1998, Tim J Trowbridge wrote:

>
> SELECT name,birthdate FROM table WHERE birthdate is not null ORDER BY
> date_part('month',birthdate)
>
> but psql returns:
>
> ERROR:  parser: parse error at or near "("
>
> What's the problem?
>

Two problems here:

1. The date_part() which u use in the order by clause is not in the target
list

2. Even if it was it wouldn't work as AFAIK functions are not allowed in
the order by clause

Try this:

 SELECT name,birthdate, date_part('month',birthdate) as birth_month
 FROM table
 WHERE birthdate is not null
 ORDER BY birth_month;


Any better idea???

    Marin



          -= Why do we need gates in a world without fences? =-



Re: [SQL] Order by birthdate

From
"Jose' Soares Da Silva"
Date:
On Wed, 10 Jun 1998, Tim J Trowbridge wrote:

> I'm trying to generate a birthday list ordered by month, then by day.
> This is what I thought would work...
>
> SELECT name,birthdate FROM table WHERE birthdate is not null ORDER BY
> date_part('month',birthdate)

I don't understand why you need specify month to sort tuples, you may order
it by birthday, but if you want it anyway try this:

SELECT name, EXTRACT(month FROM birthdate) AS mese
      FROM table WHERE birthdate is not null
      ORDER BY mese
>
> but psql returns:
>
> ERROR:  parser: parse error at or near "("
>
> What's the problem?
Seems that order by doesn't supports a function as parameter.
                                  Jose'