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

 MySQL Discussion :

Afficher une seule fois le rang


Sujet :

MySQL

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2014
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Janvier 2014
    Messages : 11
    Points : 10
    Points
    10
    Par défaut Afficher une seule fois le rang
    Bonjour, j'ai actuellement un script qui permet d'extraire le nom et de calculer les écarts pour, par exemple, une compétition sportive. Donc j’obtiens une table :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    RANG	NOM	ECART
    1	G	0.00
    2	I	0.01
    2	H	0.01
    3	E	0.05
    4	F	0.06
    4	B	0.06
    5	D	0.07
    6	J	0.10
    7	A	0.16
    Jusque là tout va bien, c’était ce que je voulais. Mais maintenant, j'aimerais ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    RANG	NOM	ECART
    1	G	0.00
    2	I	0.01
    	H	0.01
    3	E	0.05
    4	F	0.06
    	B	0.06
    5	D	0.07
    6	J	0.10
    7	A	0.16
    C'est-à-dire que le rang ne s'affiche qu'une seule fois.

    Merci d'avance

  2. #2
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2009
    Messages
    736
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2009
    Messages : 736
    Points : 1 101
    Points
    1 101
    Par défaut
    Si tu peux nous faire afficher ton script
    A la recherche d'un film : http://chercher-un-film.com

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2014
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Janvier 2014
    Messages : 11
    Points : 10
    Points
    10
    Par défaut script
    Voici mon script :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    select RANG, NOM,(SELECT TEMPS FROM RESULTAT AS RE WHERE  RE.NUMERO_CONC = CO.NUMERO) - (SELECT MIN(TEMPS) FROM RESULTAT) AS ECART
     
    FROM    (SELECT R1.NUMERO_CONC, COUNT(DISTINCT R2.TEMPS) AS RANG
             FROM   RESULTAT AS R1
                    INNER JOIN RESULTAT AS R2
                         ON R1.TEMPS >= R2.TEMPS
             GROUP  BY R1.NUMERO_CONC) AS T1
     
            INNER JOIN CONCURRENT AS CO 
                  ON T1.NUMERO_CONC = CO.NUMERO
     
    order BY RANG

  4. #4
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 016
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 016
    Points : 23 705
    Points
    23 705
    Par défaut
    Bonjour,

    C'est un problème de cosmétique et le SQL n'est pas fait pour ça.
    Je ne dis pas que c'est infaisable (je ne me suis d'ailleurs jamais posé la question...), mais vous allez obtenir une requête avec des perfs dégradées pour rien.
    Déléguez cette tâche au langage d'interfaçage qui appelle la requête (PHP par exemple), c'est son rôle.
    Rédacteur / Modérateur SGBD et R
    Mes tutoriels et la FAQ MySQL

    ----------------------------------------------------
    Pensez aux balises code et au tag
    Une réponse vous a plu ? N'hésitez pas à y mettre un
    Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2014
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Janvier 2014
    Messages : 11
    Points : 10
    Points
    10
    Par défaut
    Merci, mais je n'ai pas le choix , c'est pour un TP et le professeur le veut sous cette forme.

  6. #6
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 016
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 016
    Points : 23 705
    Points
    23 705
    Par défaut
    Oui, c'est ça... C'est le même TP pour le même prof que dans la discussion suivante : http://www.developpez.net/forums/d14...iant-tp-mysql/ ?
    Eh bien, je persiste et je signe : remplir une table de cette façon n'a strictement aucun intérêt. Pire, c'est contre-productif. Comment, en requêtant sur la table classement, vous allez faire pour savoir lequel des concurrents est le mieux classé quand il n'a pas de rang.

    Remplir une table comme ça, ça n'a aucun sens !

    Au passage, avant de vous donner un exercice, la moindre des choses est de vérifier qu'on sait en faire le corriger...
    Rédacteur / Modérateur SGBD et R
    Mes tutoriels et la FAQ MySQL

    ----------------------------------------------------
    Pensez aux balises code et au tag
    Une réponse vous a plu ? N'hésitez pas à y mettre un
    Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça

  7. #7
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Points : 13 092
    Points
    13 092
    Par défaut
    en effet, quand on sait le peu de temps accordé au SQL dans les cursus scolaires, c'est quand même navrant de voir que les profs le perde sur ce genre de stupidités, alors qu'il y aurait tant de choses intéressantes et utiles à voir.



    Enfin, il me semble qu'il y a une erreur dans le résultat attendu : à mon sens, "E" devrait être quatrième et non troisième non ?

Discussions similaires

  1. Ecran qui s'affiche une seule fois lors de l'ouverture d'eclipse
    Par menzlitsh dans le forum Eclipse Platform
    Réponses: 1
    Dernier message: 01/06/2009, 09h00
  2. [MySQL] Comment afficher une seul fois un field s'il apparait dans plusieurs enregistrements
    Par pierrot10 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 21/05/2009, 16h11
  3. [MySQL] afficher une seule fois les données redondantes
    Par ginger4957 dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 20/05/2009, 16h04
  4. [MySQL] afficher une seule fois les réponses identiques
    Par Giantrick dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 30/05/2007, 12h35
  5. [XSLT] Afficher une seule fois les attributs redondants...
    Par kobe dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 17/11/2005, 09h52

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