C'è una possibilità che condivide somiglianze con la risposta di Jens (+1) ma arriva al risultato in modo leggermente diverso.
Data una tabella esistente:
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');
Se si conosce il breve tempo desiderato (sia per l'elaborazione della tabella o qualche risultato di una query da esso), creare una tabella temporanea che ha un certo valore chiave per abbinare il desiderato righe della tabella originale e quindi i dati di ordinamento:
create table #sortorder(id integer, sortvalue integer);
Impostare il campo sortvalue
nella tabella temporanea per contenere l'ordine desiderato (potrebbe essere qualsiasi tipo di dati sortable - non deve essere un numero intero):
insert into #sortorder values (1, 15);
insert into #sortorder values (2, 12);
insert into #sortorder values (3, 5);
quindi generare il risultato con un join contro il tavolo che fornisce il criterio di ordinamento:
select sd.* from somedata sd, #sortorder so
where sd.id = so.id
order by so.sortvalue;
fonte
2011-10-26 18:51:17
Che tipo di set di dati stai usando? – Linas
@Linas TAdsQuery –
La colonna che si desidera utilizzare per l'ordine viene calcolata? (utilizzando OnCalcFields) – Cesar