sorting by date & time in descending order ??

Started by Ralf Weidemannabout 27 years ago4 messagesgeneral
Jump to latest
#1Ralf Weidemann
Finc01@DX1.HRZ.Uni-Dortmund.DE

Hi all,

I want to sort my output by date & time in descending
order. How can I do this ? Date or time alone is not
enough and the combination of both does not work. At
least in the way I tried it..

Thanks,
Ralf

wdb=> select surname, creationdate, creationtime
from message order by creationtime desc;
surname |creationdate|creationtime
--------------------+------------+------------
Name_1 | 30.03.1999|14:46:17
Name_2 | 30.03.1999|14:05:47
Name_2 | 30.03.1999|10:10:04
Name_2 | 29.03.1999|09:10:04
Name_2 | 30.03.1999|09:10:04
Name_3 | 22.03.1999|06:02:55
(6 rows)

wdb=> select surname, creationdate, creationtime
from message order by creationdate desc;
surname |creationdate|creationtime
--------------------+------------+------------
Name_2 | 30.03.1999|14:05:47
Name_2 | 30.03.1999|10:10:04
Name_1 | 30.03.1999|14:46:17
Name_2 | 30.03.1999|09:10:04
Name_2 | 29.03.1999|09:10:04
Name_3 | 22.03.1999|06:02:55
(6 rows)

wdb=> select surname, creationdate, creationtime
from message order by creationdate, creationtime desc;
surname |creationdate|creationtime
--------------------+------------+------------
Name_3 | 22.03.1999|06:02:55
Name_2 | 29.03.1999|09:10:04
Name_1 | 30.03.1999|14:46:17
Name_2 | 30.03.1999|14:05:47
Name_2 | 30.03.1999|10:10:04
Name_2 | 30.03.1999|09:10:04
(6 rows)

CREATE TABLE Message
(
MessageID SMALLINT NOT NULL,
Title CHAR(20) NOT NULL,
Surname CHAR(50) NOT NULL,
EMail CHAR(100),
MessageURL CHAR(100),
Text VARCHAR NOT NULL,
CreationDate DATE NOT NULL,
CreationTime TIME NOT NULL,
Expiry SMALLINT NOT NULL
);

#2Herouth Maoz
herouth@oumail.openu.ac.il
In reply to: Ralf Weidemann (#1)
Re: [GENERAL] sorting by date & time in descending order ??

(The topic of this question fits better in the SQL list than the GENERAL list).

At 15:38 +0200 on 30/03/1999, Ralf Weidemann wrote:

I want to sort my output by date & time in descending
order. How can I do this ? Date or time alone is not
enough and the combination of both does not work. At
least in the way I tried it..

[snip]

wdb=> select surname, creationdate, creationtime
from message order by creationdate, creationtime desc;
surname |creationdate|creationtime
--------------------+------------+------------
Name_3 | 22.03.1999|06:02:55
Name_2 | 29.03.1999|09:10:04
Name_1 | 30.03.1999|14:46:17
Name_2 | 30.03.1999|14:05:47
Name_2 | 30.03.1999|10:10:04
Name_2 | 30.03.1999|09:10:04
(6 rows)

You have to indicate whether you want ascending or descending sort on each
of the sort columns. When you don't, the default is ascending. Thus, the
above statement is equivalent to:

... order by creationdate asc, creationtime desc;

So, you need to use

... order by creationdate desc, cretaiontime desc;

Herouth

--
Herouth Maoz, Internet developer.
Open University of Israel - Telem project
http://telem.openu.ac.il/~herutma

#3Kollar Lajos
KOLLARLAJOS@TIGRIS.KLTE.HU
In reply to: Ralf Weidemann (#1)
Re: [GENERAL] sorting by date & time in descending order ??

On Tue, 30 Mar 1999, Ralf Weidemann wrote:

Hi all,

I want to sort my output by date & time in descending
order. How can I do this ? Date or time alone is not
enough and the combination of both does not work. At
least in the way I tried it..

Thanks,
Ralf

...

wdb=> select surname, creationdate, creationtime
from message order by creationdate, creationtime desc;
surname |creationdate|creationtime
--------------------+------------+------------
Name_3 | 22.03.1999|06:02:55
Name_2 | 29.03.1999|09:10:04
Name_1 | 30.03.1999|14:46:17
Name_2 | 30.03.1999|14:05:47
Name_2 | 30.03.1999|10:10:04
Name_2 | 30.03.1999|09:10:04
(6 rows)

this orders creationdate asc and creationtime desc as the output also shows,
so try:

select surname, creationdate, creationtime
from message order by creationdate desc, creationtime desc;

this should work.

Lajos

#4Bob Dusek
bobd@palaver.net
In reply to: Ralf Weidemann (#1)
Re: [GENERAL] sorting by date & time in descending order ??

Hi Ralph,

Did you try:

select surname, creationdate, creationtime from message order by
creationdate desc, creationtime desc;

??

It appears that all of your other queries are working as expected.

Bob

Ralf Weidemann wrote:

Show quoted text

Hi all,

I want to sort my output by date & time in descending
order. How can I do this ? Date or time alone is not
enough and the combination of both does not work. At
least in the way I tried it..

Thanks,
Ralf

wdb=> select surname, creationdate, creationtime
from message order by creationtime desc;
surname |creationdate|creationtime
--------------------+------------+------------
Name_1 | 30.03.1999|14:46:17
Name_2 | 30.03.1999|14:05:47
Name_2 | 30.03.1999|10:10:04
Name_2 | 29.03.1999|09:10:04
Name_2 | 30.03.1999|09:10:04
Name_3 | 22.03.1999|06:02:55
(6 rows)

wdb=> select surname, creationdate, creationtime
from message order by creationdate desc;
surname |creationdate|creationtime
--------------------+------------+------------
Name_2 | 30.03.1999|14:05:47
Name_2 | 30.03.1999|10:10:04
Name_1 | 30.03.1999|14:46:17
Name_2 | 30.03.1999|09:10:04
Name_2 | 29.03.1999|09:10:04
Name_3 | 22.03.1999|06:02:55
(6 rows)

wdb=> select surname, creationdate, creationtime
from message order by creationdate, creationtime desc;
surname |creationdate|creationtime
--------------------+------------+------------
Name_3 | 22.03.1999|06:02:55
Name_2 | 29.03.1999|09:10:04
Name_1 | 30.03.1999|14:46:17
Name_2 | 30.03.1999|14:05:47
Name_2 | 30.03.1999|10:10:04
Name_2 | 30.03.1999|09:10:04
(6 rows)

CREATE TABLE Message
(
MessageID SMALLINT NOT NULL,
Title CHAR(20) NOT NULL,
Surname CHAR(50) NOT NULL,
EMail CHAR(100),
MessageURL CHAR(100),
Text VARCHAR NOT NULL,
CreationDate DATE NOT NULL,
CreationTime TIME NOT NULL,
Expiry SMALLINT NOT NULL
);