query to do a backward 'skip', possible with (index) optimization ?

From: "Albert Loo" <albertsql(at)hotmail(dot)com>
To: pgsql-sql(at)postgresql(dot)org
Subject: query to do a backward 'skip', possible with (index) optimization ?
Date: 2000-01-10 21:15:39
Message-ID: 20000110131539.77866.qmail@hotmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

hi,

Coming from xbase background and having just started on sql, I tried sql
queries that does xbase 'skip'. I wanted to implement record browsing with
'Next' and 'Previous' features. Currently, I'm testing this with a table of
about 20,000 rows using psql.

I'm able to perform 'forward skip' query with :

=> select * from mytable where id > '12345' order by id limit 1;

- which returned what I wanted, 1 record with id value '12346'. Indexing on
id further optimised the query.

However, I'm unable to optimise query when doing a 'backward skip'. I've
tried :

=> select * from mytable where id < '12345' order by id desc limit 1;

- which returned the correct result '12344', but without optimization.

I was hoping a descending order index key would optimise it, but I think
postgresql don't support it (yet ?).

Next, I tried using offset -1...which is not possible either :)

=> select * from mytable where id > '12345' order by id limit 1 offset -1;
ERROR: parser: parse error at or near "-"

Has anyone tried 'backward skip' with optimization ?

______________________________________________________
Get Your Private, Free Email at http://www.hotmail.com

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Werner Fraga 2000-01-10 22:32:19 problems creating functions and triggers
Previous Message Werner Fraga 2000-01-10 20:54:04 problems creating functions, triggers, and rules