IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SQL Procédural MySQL Discussion :

Statistique : Numéro de ligne avec MySQL


Sujet :

SQL Procédural MySQL

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Statistique : Numéro de ligne avec MySQL
    Bonjour,

    J'aurai besoin d'un coup de main en SQL.
    Base : "MySQL 4.0".

    J'ai une table de ce type :
    - membre { login, cpt_visite }

    Si je veux faire la liste des membres ayant le plus de visites, c'est bon :
    SELECT login, cpt_visite
    FROM `membre`
    ORDER BY cpt_visite DESC
    >> Résultat :
    jerome 10
    alex 4
    fred 4
    tom 4
    jerem 3


    Mais comment faire pour ajouter un niveau de rang en SQL ??
    >> Résultat voulu :
    jerome 1
    alex 2
    fred 2
    tom 2
    jerem 3


    Je cherche un peu partout, mais j'arrive pas à trouver de solution. Ce que je cherche entre-autre c'est une fonction SQL qui permet de sortir le numéro de la ligne.

    Merci d'avance !!!

  2. #2
    Membre émérite Avatar de Maximil ian
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 622
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 622
    Points : 2 973
    Points
    2 973
    Par défaut
    Bonjour,

    Cherche un peu plus... le problème a été évoqué plusieurs fois récemment dans ce forum

  3. #3
    Membre éprouvé
    Avatar de Sivrît
    Profil pro
    Inscrit en
    Février 2006
    Messages
    953
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2006
    Messages : 953
    Points : 1 249
    Points
    1 249
    Par défaut
    Le numéro de ligne n'est à ma connaissance pas disponible. On doit pouvoir se débrouiller avec des variables, même si ce n'est peut-être pas à mysql de faire ça.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SET @count=0, @last=NULL;
    SELECT login, cpt_visite, IF(cpt_visite=@last, @count, @count:=@count+1), @last:=cpt_visite
    FROM `membre`
    ORDER BY cpt_visite DESC
    Et pour gérer les ex aequo :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SET @count=0, @last=NULL, @line=0;
    SELECT login, cpt_visite, IF(cpt_visite=@last, @count, @count:=@line), @last:=cpt_visite, @line:=@line+1
    FROM `membre`
    ORDER BY cpt_visite DESC
    C'est possible en mysql5, et d'après la doc en 4 aussi.

    Edit : grillé et je peux m'autodéscerner un ? je commence bien ma journée moi...

Discussions similaires

  1. Afficher numéro de ligne avec la requête
    Par zimeau dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 31/01/2012, 13h39
  2. [XL-2003] Numéro de ligne avec fonction min
    Par allergique dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 08/09/2010, 19h48
  3. [procédure stockée] Requête renvoyant plusieurs lignes avec MySQL
    Par ourseblanche dans le forum SQL Procédural
    Réponses: 4
    Dernier message: 16/01/2010, 17h13
  4. [MySQL] Mise à jours de plusieurs lignes avec mysql
    Par hakou08 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 10/04/2009, 20h10
  5. Numéro de ligne dans MySql ?
    Par VirusChess dans le forum Requêtes
    Réponses: 1
    Dernier message: 18/01/2006, 09h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo