Re: Order by YYYY MM DD in reverse chrono order trouble
От | |
---|---|
Тема | Re: Order by YYYY MM DD in reverse chrono order trouble |
Дата | |
Msg-id | 20040422095648.88816.qmail@web12706.mail.yahoo.com обсуждение исходный текст |
Ответ на | Re: Order by YYYY MM DD in reverse chrono order trouble (Edmund Bacon <ebacon@onesystem.com>) |
Ответы |
Re: Order by YYYY MM DD in reverse chrono order trouble
Design Problem... |
Список | pgsql-sql |
Hello, I'd love to be able to do that, but I cannot just ORDER BY uu.add_date, because I do not have uu.add_date in the SELECT part of the statement. The reason I don't have it there is because I need distinct YYYY MM DD values back. Is there a trick that I could use to make this more elegant? Thanks, Otis --- Edmund Bacon <ebacon@onesystem.com> wrote: > Is there some reason you can't do this: > > SELECT DISTINCT > date_part('year', uu.add_date), date_part('month', uu.add_date), > date_part('day', uu.add_date) > > FROM uus INNER JOIN ui ON uus.user_id=ui.id INNER JOIN uu ON > ui.id=uu.user_id > WHERE uus.x_id=1 > > ORDER BY > uu.add_date DESC; > > This might be faster, as you only have to sort on one field, and I > think it should give the desired results > > ogjunk-pgjedan@yahoo.com wrote: > > >Hello, > > > >I am trying to select distinct dates and order them in the reverse > >chronological order. Although the column type is TIMESTAMP, in this > >case I want only YYYY, MM, and DD back. > > > >I am using the following query, but it's not returning dates back in > >the reverse chronological order: > > > >SELECT DISTINCT > > date_part('year', uu.add_date), date_part('month', uu.add_date), > > date_part('day', uu.add_date) > > > >FROM uus INNER JOIN ui ON uus.user_id=ui.id INNER JOIN uu ON > >ui.id=uu.user_id > >WHERE uus.x_id=1 > > > >ORDER BY > >date_part('year', uu.add_date), date_part('month', uu.add_date), > >date_part('day', uu.add_date) DESC; > > > > > >This is what the above query returns: > > > > date_part | date_part | date_part > >-----------+-----------+----------- > > 2004 | 2 | 6 > > 2004 | 4 | 20 > >(2 rows) > > > > > >I am trying to get back something like this: > >2004 4 20 > >2004 4 19 > >2004 2 6 > >... > > > >My query is obviously wrong, but I can't see the mistake. I was > >wondering if anyone else can see it. Just changing DESC to ASC, did > >not work. > > > >Thank you! > >Otis > > > > > >---------------------------(end of > broadcast)--------------------------- > >TIP 2: you can get off all lists at once with the unregister command > > (send "unregister YourEmailAddressHere" to > majordomo@postgresql.org) > > > > > > -- > Edmund Bacon <ebacon@onesystem.com> >
В списке pgsql-sql по дате отправления: