Group by et Order by

Répondre
Aznar
le 20/06/2003 à 14:59
Aznar
Bonjour...
Les contexte : une table avec des noms, villes, années, sport, identifiant.
Une même personne, peut faire, plusieurs sports, dans plusieurs ville, pendant plusieurs années.

Je veux en une requete récuperer ces infos mais classer par villes (par exemple)
Je veux aussi qu'un même nom n'apparaisse qu'une fois pour chaque villes (si je classe par ville)
Or si je fais:

SELECT nom, sport, annee, ville FROM inscription GROUP BY nom ORDER BY ville

Ca regroupe d'abord tous les noms ensemble et ensuite range par ville
Par contre je ne peux pas ranger par ville et ensuite regrouper les noms... (j'ai essayer d'inverser les deux ça marche pas)

Comment je peux faire?
Parce que sinon je dois pouvoir après avec des if gérer le tout mais c super pas pratique...
Aznar
LA GLOBULE
le 20/06/2003 à 15:44
LA GLOBULE
Oui c'est faisable en une seule requete.

Et si tu veux classer tes resultats en fonctions d'une ville, il faut que tu les groupes par ville (donc avec un GROUP BY ville).
Aznar
le 24/06/2003 à 09:43
Aznar
Vi bah je sais ça, mais si je fais un group by nom il me garde que une seule inscription avec ce nom la, alors que je veux garder une inscription par ville au moins...

Et ça marche pas ça...

Aznar
Koboneil
le 24/06/2003 à 10:25
Koboneil
Y a la fonction SELECT DISTNCT mais je sais pas trop comment quel marche smiley
Koboneil
LA GLOBULE
le 24/06/2003 à 13:14
LA GLOBULE
Le SELECT DISTINCT, c'est pour obtenir une serie de tuple sans doublon.

En effet, si tu fais une requete en ne selectionnant pas tous les attributs d'une table, il se peut, qu'avec une jointure, tu te retrouves avec plusieurs tuples identiques.

Le DISTINCT permet d'eviter cela.
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours