Existe la posibilidad de que comparta similitudes con la respuesta de Jens (+1) pero llega al resultado de una manera ligeramente diferente.
Dada una tabla existente:
create table somedata (id integer, name char(20));
insert into somedata values (1, 'Tim');
insert into somedata values (2, 'Bob');
insert into somedata values (3, 'Joe');
Si conoce el poco tiempo deseado (ya sea mediante el procesamiento de la mesa o algún resultado de la consulta de ella), cree una tabla temporal que tiene algún valor clave para que coincida con la deseada filas de la tabla original y luego el orden de clasificación de datos:
create table #sortorder(id integer, sortvalue integer);
Configure el campo sortvalue
en la tabla temporal para contener el orden deseado (que podría ser cualquier tipo de datos sortable - no tiene que ser un número entero):
insert into #sortorder values (1, 15);
insert into #sortorder values (2, 12);
insert into #sortorder values (3, 5);
luego generar los resultados con una unión en contra de la tabla que proporciona el orden de clasificación:
select sd.* from somedata sd, #sortorder so
where sd.id = so.id
order by so.sortvalue;
¿Qué tipo de conjunto de datos está utilizando? – Linas
@Linas TAdsQuery –
¿Se calcula la columna que desea utilizar para realizar el pedido? (usando OnCalcFields) – Cesar