On va supposer que la table dans laquelle on récupère les éléments à la structure suivante:
table essai
(
id int(7) not null auto_increment,
creation_date datetime not null default '0000-00-00 00:00:00',
nom varchar(255),
primary key(id)
);
La requête qui récupère les éléments 15, 17 et 20 est :
select id, creation_date, nom from essai where id in (15,17,20);
Si on veut trier par date de création en commençant par les éléments les plus anciennement créés :
select id, creation_date, nom from essai where id in (15,17,20) order by date_creation asc;
En fait la requête pour choisir l'ordre de tri par id dans l'ordre 17, 20 puis 15 n'est pas beaucoup plus compliquée:
select id, creation_date, nom from essai where id in (15,17,20) order by fiedl(id,17,20,15);