Ignorer le "ORDER BY" par défaut

Mathieu Carlier

Nouveau membre
Bonjour à tous,

je n'ai pas trouvé de réponse sur le net alors je vous soumets mon problème.

Voici ma requête SQL :
SQL:
SELECT * FROM hungy WHERE id=3 OR id=1 OR id=2



Voici l'ordre dans lequel la réponse m'est retourné :
SQL:
1
2
3



J'aimerai que la reponse retournée soit :
SQL:
3
1
2

C'est à dire dans le même ordre que je les ai ajouté dans la requête sql (WHERE).




Quelqu'un peut m'aider , svp ?
 

archipeldufond

Grand Maître
ce n'est pas un order by par défaut, c'est juste que les données dans la base de données ont été rentrées dans cet ordre (1,2,3) .
Ce que tu peux faire c'est ajouter une colonne (place) et assigner à chaque ligne la place que tu veux, ensuite tu fera un order by asc/desc selon le sens dans lequel tu veux les faire apparaitre .

Mais avant : C'est quoi l'utilité de faire ça ??
 

zeb

Modérateur
Plop,

Qui a dit qu'il fallait se justifier ?
(C'est vrai que la question me titille aussi :lol: )

Pour répondre à la question de Mathieu, il faut non pas ignorer le "ORDER BY" par défaut comme l'explique Archip', mais en imposer un !

SQL:
-- sql oracle
SELECT * 
FROM hungy 
WHERE id IN (1, 2, 3)
ORDER BY DECODE(id, 3, 'a', 1, 'b', 2, 'c')
 

archipeldufond

Grand Maître
ORDER BY DECODE(id, 3, 'a', 1, 'b', 2, 'c')

Et si tu en as 5000 ? :D

Je demandais une justification parceque quand on est débutant dans quelque chose on a tendance à vouloir faire les choses d'une manière "bricolage" 'qui fonctionne', alors que des trucs exprès ont déja été créés pour le cas .
 

zeb

Modérateur
5000? : +1
justification : +1

....
Hum, ça fait +2 tout ça !
:o ... :D


S'il en a 5000, il va nous faire une fonction qui à un ensemble de lettres associe un nombre.
Ou bien, il va nous ajouter une colonne ORDER à sa table.
Quant à savoir si c'est du bricolage ou pas, j'ai déjà une petite idée :sarcastic:
 
Vous devez vous inscrire ou vous connecter pour répondre ici.
Derniers messages publiés
Statistiques globales
Discussions
730 132
Messages
6 717 996
Membres
1 586 386
Dernier membre
aviateurdesairs
Partager cette page
Haut