ORDER BY TIMESTAMP_column ASC, NULL first

From: Fredrik Wendt <fredrik(at)csbnet(dot)se>
To: pgsql-sql(at)postgresql(dot)org
Subject: ORDER BY TIMESTAMP_column ASC, NULL first
Date: 2004-02-12 10:06:26
Message-ID: 20040212100626.GA21864@csbnet.se
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

Hi!

I read posts telling me that NULL values are considered greater than
non-null values. Fine. Is there a way to explicitly reverse this?

I have the situation where a table holds IP-addresses. The table has
column of type timestamp, called assignedAt, which tells when the
address was assigned to a computer in our network.
What I'd like to do, is to get an IP-address that hasn't yet been
assigned to anyone, or the one with the smallest assignedAt (most likely
to not be in use).

CREATE TABLE IPv4Address (
id SERIAL PRIMARY KEY,
address INET NOT NULL UNIQUE,
assignedAt TIMESTAMP
);

The query to use would be,

SELECT ip.id FROM IPv4Address ip ORDER BY assignedAt ASC LIMIT 1;

with the exception that this returns rows with NULL at the end, instead
of at the beginning which is what I'd like.

How do achieve this with one query? I'm using Postgres 7.4.

And oh, I'm not on the list so please cc my adress in any replies!

Thanks in advance,

Fredrik Wendt

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Sumita Biswas (sbiswas) 2004-02-12 11:40:38 Function
Previous Message sad 2004-02-12 08:45:10 Re: cascade delete