Précédent   Forum des professionnels en informatique > Bases de données > MySQL > Outils
Outils Forum d'entraide sur les outils pour MySQL. Avant de poster -> Outils MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 28/06/2007, 21h16   #1
Membre éprouvé
 
Avatar de Christophe Charron
 
Homme Christophe Charron
Développeur informatique
Inscription : juillet 2005
Messages : 768
Détails du profil
Informations personnelles :
Nom : Homme Christophe Charron
Âge : 51
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Développeur informatique
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juillet 2005
Messages : 768
Points : 492
Points : 492
Par défaut N° de rang dans un classement

Bonsoir,
je fais une requête de type
Code :
SELECT sum('ca') AS 'ca',client FROM facture GROUP BY client ORDER BY ca LIMIT 15
pour avoir mon top 15 des chiffres d'affaire.
Je souhaite "numéroter" les résultats, pour avoir en plus des 2 colonnes, le rang dans le classement. Est-ce possible dans la requête ?
__________________
Cordialement,
Christophe Charron
Pour consulter mon site professionnel, vous pouvez cliquer sur le bouton prévu à cet effet, juste sous la signature .
Christophe Charron est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/06/2007, 21h27   #2
Membre expérimenté
 
Inscription : septembre 2006
Messages : 685
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 685
Points : 564
Points : 564
Salut,

Tu ne peux pas le faire du côté du langage serveur ?

Il y a les variables dynamiques de MySQL qui permettent de le faire, mais il faut les déclarer lors d'une précédente requête.
Xunil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/06/2007, 21h35   #3
Membre éprouvé
 
Avatar de Christophe Charron
 
Homme Christophe Charron
Développeur informatique
Inscription : juillet 2005
Messages : 768
Détails du profil
Informations personnelles :
Nom : Homme Christophe Charron
Âge : 51
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Développeur informatique
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juillet 2005
Messages : 768
Points : 492
Points : 492
Citation:
Envoyé par Xunil
Salut,
Tu ne peux pas le faire du côté du langage serveur ?
Tu veux dire dans une procédure stockée ? C'est ce que je voulais éviter mais s'il faut y passer, j'y passerai ..
Citation:
Envoyé par Xunil
Il y a les variables dynamiques de MySQL qui permettent de le faire, mais il faut les déclarer lors d'une précédente requête.
Un petit exemple serait le bienvenu ...
__________________
Cordialement,
Christophe Charron
Pour consulter mon site professionnel, vous pouvez cliquer sur le bouton prévu à cet effet, juste sous la signature .
Christophe Charron est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/06/2007, 21h57   #4
Membre expérimenté
 
Inscription : septembre 2006
Messages : 685
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 685
Points : 564
Points : 564
Non, ce que je voulais dire, en parlant du langage serveur, c'est en php par exemple, en incrémentant une variable dans la boucle qui lit les résultats de la requête.

Pour ce qui est de la variable MySQL, il faut en 1er initialiser la variable

Et dans la sélection, on incrémente cette variable
Code SQL :
SELECT sum('ca') AS 'ca', client, @cmpt:=@cmpt+1 AS rang FROM facture GROUP BY client ORDER BY ca LIMIT 15
Xunil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/06/2007, 22h29   #5
Membre éprouvé
 
Avatar de Christophe Charron
 
Homme Christophe Charron
Développeur informatique
Inscription : juillet 2005
Messages : 768
Détails du profil
Informations personnelles :
Nom : Homme Christophe Charron
Âge : 51
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Développeur informatique
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juillet 2005
Messages : 768
Points : 492
Points : 492
Citation:
Envoyé par Xunil
Non, ce que je voulais dire, en parlant du langage serveur, c'est en php par exemple, en incrémentant une variable dans la boucle qui lit les résultats de la requête.
C'est ce que je fais déjà.
Citation:
Envoyé par Xunil
Pour ce qui est de la variable MySQL, il faut en 1er initialiser la variable

Et dans la sélection, on incrémente cette variable
Code SQL :
SELECT sum('ca') AS 'ca', client, @cmpt:=@cmpt+1 AS rang FROM facture GROUP BY client ORDER BY ca LIMIT 15
Ok mais dans ce cas, comme ce n'est pas du tout en un, cela revient au même que de le coder en php.
Si je donne ces 2 requêtes à exécuter groupées à phpmyadmin, pas de problème, dans un script php, pas de problème, mais dans un outil de style MysqlQueryBrowser, ca ne fonctionne pas, puisqu'il doit, j'imagine, fermer la connexion après chaque requête !! Mais c'est quand même un plus.
Je vais explorer du côté de la procédure stockée quand même alors ...
__________________
Cordialement,
Christophe Charron
Pour consulter mon site professionnel, vous pouvez cliquer sur le bouton prévu à cet effet, juste sous la signature .
Christophe Charron est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h57.


 
 
 
 
Partenaires

Hébergement Web