Funny date-sorting task

From: Andreas <maps(dot)on(at)gmx(dot)net>
To: pgsql-sql(at)postgresql(dot)org
Subject: Funny date-sorting task
Date: 2007-05-12 23:40:59
Message-ID: 4646508B.5050404@gmx.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

Hi,

I've got a stack of tasks to show in a list.
Every task has a timestamp X that may be NULL or a date. It contains
the date when this tasks should be done.
Sometimes it has date and the time-part, too.

The list should be like this:
1) X sometime today should come first in ascending time order.
2) X in the past should show up after (1) in descending order so that
not so long back dates come first
3) X = NULL
4) X sometime in the future

The point is, I like to do the skeduled tasks for today as planned. = (1)

Those allready lost appointments should not defer those today that are
still in time but I like to get them after the today-tasks in an order
where there is a chance that a nearer lost appointment might be still
rescued even though it's a bit late.
The dates longer back might be lost for good anyway so they can wait a
bit longer. = (2)

Provided I get through (1) and (2) I'd venture the unknown where there
wasn't a date until now. = (3)

Well, and future dates will be minded when their time is there. = (4)

For now I do this by having a sorting-column in the tasks-table that
gets updated in 4 steps where my application has to select every group
(1) - (4) then sequentially walk through the recordset and update the
sort-order-column by a counter.
Later I sort ascending by the sort-order-column.
It kind of works but I consider it ugly.

Could you provide a clever solution?

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Frank Bax 2007-05-13 03:13:50 Re: Funny date-sorting task
Previous Message Joost Kraaijeveld 2007-05-12 09:32:08 Howto convert / (re)store xml column to table in trigger using contrib/xml2?