J'ai une table avec les catégories:ordre SQLite et sur mesure par
ID Category
"1","Baking"
"3","Family"
"4","Entertaining"
"5","Children"
"6","Desserts"
Maintenant, je voudrais commander le résultat de l'instruction select à
ID Category
"4","Entertaining"
"3","Family"
"1","Baking"
"5","Children"
"6","Desserts"
par exemple. Dans MySQL, vous feriez comme ceci:
SELECT * FROM CATEGORIES ORDER BY FIELD (ID, 4,3,1,5,6);
Comment feriez-vous dans SQLite si? Je n'ai pas de champ "order by".
+1 ya moi aussi, je viens de le taper sur. L'autre option est bien sûr de créer un attribut qui agit en priorité, alors vous pouvez simplement classer par ordre de priorité. Ce n'est pas le moyen idéal, mais une solution que j'ai dû utiliser par le passé. – northpole
Pour la vitesse avec des ensembles de données volumineux, je créerais probablement une table auxiliaire indexée qui contiendrait les identifiants et leur ordre désiré, puis se joindrait à elle et serait ordonnée par sa colonne indexée. Je ne suis pas sûr de la façon dont SQLite gérera cela, mais les moteurs de base de données «plus grands» en bénéficieront probablement, car l'expression CASE n'est pas optimale pour la commande. – Tomalak