order by $variable/$variable2

atomikado
WRInaute discret
WRInaute discret
 
Messages: 160
Inscription: 22 Sep 2003

order by $variable/$variable2

Message le Mer Déc 21, 2005 15:57

bonjour,

je voudrais savoir s'il est possible dans une requete mysql de trier les résultats en fonction de deux champs,
exemple avec cette requete :
mysql_query("select sum(age) as sommeage, sum(personnes) as sommepersonne order by (sommeage/sommepersonne)")

Merci :)


e-kiwi
Modérateur
Modérateur
 
Messages: 15617
Inscription: 23 Déc 2003

Message le Mer Déc 21, 2005 15:59

select sum(age) as sommeage, sum(personnes) as sommepersonne order by sommeage, sommepersonne

il trie selon le premier, puis le second si premier identique :)

atomikado
WRInaute discret
WRInaute discret
 
Messages: 160
Inscription: 22 Sep 2003

Message le Mer Déc 21, 2005 17:57

oui, je me suis mal exprimé,

je voudrais trier par le quotient (sommeage/sommepersonne)
j'ai fait un test et ca me retourne une erreur...

spidetra
WRInaute passionné
WRInaute passionné
 
Messages: 1500
Inscription: 7 Juil 2003

Message le Mer Déc 21, 2005 18:43

si tu as une fonctin d'aggrégation sum(), il te faut un GROUP BY dans ta requête... et aussi un FROM

spidetra
WRInaute passionné
WRInaute passionné
 
Messages: 1500
Inscription: 7 Juil 2003

Message le Mer Déc 21, 2005 18:57

après contrôle de la syntaxe MySQL ça devrait donner un truc du genre :

Code: Tout sélectionner
SELECT
sum(age) as sumage , sum(personne) as sumpersonne, sum(age)/sum(personne) 
FROM `table`
GROUP BY je_sais_pas_quoi
ORDER BY 3


tu ne peux pas utiliser les alias dans les clauses order de mysq lLe 3 représente le 3° champ de ton select. A faire confirmer ou a tester.


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité