Subject Re: [firebird-support] select first and skip
Author Martijn Tonies
Hello Olaf,

> in a Table I'm looking for the right 5 records for each workplace on a
> conveyor track (max-id of the records - offset for the workplace) but
> ascending sorted.
>
> For example, the max ID is 200 (last record). The Offset is 10. If I
> select
> first 5 skip 10 fields from table order by id desc, then I get the IDs
> 190,
> 189, 188, 187, 186. But I need the records ascending! If I sort ascending,
> then I get the IDs 6, 7, 8, 9, 10. How can I get the last IDs in ascending
> order?

You could use a client side sorting method, eg via a TClientDataset.

Alternatively, use a selectable stored procedure that returns the set of
records and sort ASC when selecting from the stored procedure.

Or use a Derived Table:

select *
from (select first 5 skip 10 ... order by id desc)
order by id asc

With regards,

Martijn Tonies
Upscene Productions
http://www.upscene.com

Download Database Workbench for Oracle, MS SQL Server, Sybase SQL
Anywhere, MySQL, InterBase, NexusDB and Firebird!