[SQL] Optimisation de requête
Résolu
saad0n87
-
malaik5 Messages postés 258 Date d'inscription Statut Membre Dernière intervention -
malaik5 Messages postés 258 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai un petit problème au niveau d'une requete SQL.
Je dispose d'une table matable qui possède un champ id qui est structuré de la façon suivante :
- Une lettre 'G','C','E','D' concaténée à un numéro de série . Ex:'C10006','G16547','E456','D1648','G1986'
Ce que je veux faire c'est restituer ces champs id avec un ordre précis : je m'explique je veux les données commencant par G puis par C puis par E puis par D. Pour l'exemple que j'ai donné le résultat devrait être le suivant:
G16547
G1986
C10006
E456
D1648
J'arrive à obtenir le résultat avec cette requête:
Cependant je voudrais bien voir s'il n'y a pas moyen de simplifier cette requête.
Merci d'avance pour votre aide
J'ai un petit problème au niveau d'une requete SQL.
Je dispose d'une table matable qui possède un champ id qui est structuré de la façon suivante :
- Une lettre 'G','C','E','D' concaténée à un numéro de série . Ex:'C10006','G16547','E456','D1648','G1986'
Ce que je veux faire c'est restituer ces champs id avec un ordre précis : je m'explique je veux les données commencant par G puis par C puis par E puis par D. Pour l'exemple que j'ai donné le résultat devrait être le suivant:
G16547
G1986
C10006
E456
D1648
J'arrive à obtenir le résultat avec cette requête:
select * from matable where id like 'G%' UNION ALL select * from matable where id like 'C%' UNION ALL select * from matable where id like 'E%' UNION ALL select * from matable where id like 'D%'
Cependant je voudrais bien voir s'il n'y a pas moyen de simplifier cette requête.
Merci d'avance pour votre aide
A voir également:
- [SQL] Optimisation de requête
- Optimisation pc - Accueil - Utilitaires
- Optimisation découpe panneau gratuit - Télécharger - Outils professionnels
- Logiciel sql - Télécharger - Bases de données
- Blob sql ✓ - Forum Webmastering
- Sql (+) - Forum Programmation
3 réponses
salut,
je ne sais si ça va marcher mais essayes comment,
qaund tu fait ta requète à la fin tu rajoute:
.......
.......
Order by id (tu met l'ordre que tu veux faire)
je pense que ça peut marcher
je ne sais si ça va marcher mais essayes comment,
qaund tu fait ta requète à la fin tu rajoute:
.......
.......
Order by id (tu met l'ordre que tu veux faire)
je pense que ça peut marcher
Bonjour,
Alors je sais pas si ce que je vais te dire est correcte, mais a première vue je pensais à ca :
Alors je sais pas si ce que je vais te dire est correcte, mais a première vue je pensais à ca :
select * from matable where id like 'G%' OR id like 'C%' OR id like 'E%' OR id like 'D%'
Je sais je suis un peu lourd ^^
select * from matable where id like 'G%' AND id like 'C%' ....
je ne sais pas si c'est ça que tu veux apres
SELECT *
FROM 'ma_table'
ORDER BY FIELD (id, 'G%', 'C%', 'E%', 'D%')
et pour rappel:
Les paramètres passés à la fonction FIELD() sont : le nom du champ de type chaîne de caractère sur lequel effectuer le tri, puis les occurences de cette chaîne dans l'ordre de tri souhaité.