Trier sur plusieurs colonnes
Il est également possible de trier sur plusieurs colonnes. Par exemple, si vous voulez que les résultats soient triés par espèce et,
dans chaque espèce, triés par date de naissance, il suffit de donner les deux colonnes correspondantes à ORDER BY :
Code : SQL
SELECT *
FROM Animal
ORDER BY espece, date_naissance;
L'ordre dans lequel vous donnez les colonnes est important, le tri se fera d'abord sur la première colonne donnée, puis
sur la seconde, etc.
Vous pouvez trier sur autant de colonnes que vous voulez.
Éliminer les doublons
Il peut arriver que MySQL vous donne plusieurs fois le même résultat. Non pas parce que MySQL fait des bêtises, mais tout
simplement parce que certaines informations sont présentes plusieurs fois dans la table.
Petit exemple très parlant : vous voulez savoir quelles sont les espèces que vous possédez dans votre élevage. Facile, une petite
requête :
Code : SQL
SELECT espece
FROM Animal;
En effet, vous allez bien récupérer toutes les espèces que vous possédez, mais si vous avez 500 chiens, vous allez récupérer 500
lignes 'chien'.
Un peu embêtant lorsque la table devient bien remplie.
Heureusement, il y a une solution : le mot-clé DISTINCT.
Ce mot-clé se place juste après SELECT et permet d'éliminer les doublons.
Code : SQL
SELECT DISTINCT espece
FROM Animal;
Ceci devrait gentiment vous ramener quatre lignes avec les quatre espèces qui se trouvent dans la table. C'est quand même plus
clair non ?
Attention cependant, pour éliminer un doublon, il faut que toute la ligne sélectionnée soit égale à une autre ligne du jeu de
résultats. Ça peut paraître logique, mais cela en perd plus d'un. Ne seront donc prises en compte que les colonnes que vous avez
précisées dans votre SELECT. Uniquement espece donc, dans notre exemple.
Restreindre les résultats
En plus de restreindre une recherche en lui donnant des critères grâce à la clause WHERE, il est possible de restreindre le nombre
de lignes récupérées.
Cela se fait grâce à la clause LIMIT.
Syntaxe
LIMIT s'utilise avec deux paramètres.
Le nombre de lignes que l'on veut récupérer.
Le décalage, introduit par le mot-clé OFFSET et qui indique à partir de quelle ligne on récupère les résultats. Ce paramètre
Partie 1 : MySQL et les bases du langage SQL
59/414
www.openclassrooms.com
Précédent

- 59/413

Suivant