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

Langage SQL Discussion :

[MySQL] dernier element d'une liste


Sujet :

Langage SQL

  1. #1
    Membre actif
    Inscrit en
    Juin 2006
    Messages
    431
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 431
    Points : 209
    Points
    209
    Par défaut [MySQL] dernier element d'une liste
    Salut, je possède une table à partir de laquelle je dois extraire certaines lignes. cette table correspond à une gestion de suivis sur des dossiers. Ces suivis pouvant être édités et modifiés, un même suivi possède plusieurs occurences dans la table, mais seule la derniere est complete. Je cherche à récupérer cette ligne la.

    Ma table est donc de la forme:
    SuiNum: id de la table
    Suino1: copie de l'id de la table qui permet de lier toutes les occurrences pour chaque suivis
    Suino2: occurence du suivis.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     SuiNum        SuiNo1        SuiNo2
        1             1            1
        2             2            1
        3             3            1
        4             3            2
        5             3            3
        6             6            1
        7             6            2
     
    etc...
    Je n'arrive pas à sélectionner toutes les lignes avec SuiNo2 en dernière version (Ici ca serait les lignes 1,2,5 et 7).

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 099
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 099
    Points : 28 407
    Points
    28 407
    Par défaut
    Comme ça ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SELECT  s.SuiNum
    FROM    Suivi   AS s
    WHERE   s.SuiNo2 =  (   SELECT  MAX(m.SuiNo2)
                            FROM    Suivi   AS m
                            WHERE   s.SuiNo1    = m.SuiNo1
                        )
    ;
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  3. #3
    Membre actif
    Inscrit en
    Juin 2006
    Messages
    431
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 431
    Points : 209
    Points
    209
    Par défaut
    Je viens de la lancer, mais ca prend beaucoup de temps. J'ai fais une requete dans le meme style mais hélas encore plus longue:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM Table_Suivis WHERE SuiNum IN (SELECT a.SuiNum FROM Table_Suivis a,Table_Suivis b WHERE a.SuiNo2 > b.SuiNo2 AND a.SuiNo1 = b.SuiNo1) AND SuiFin <> -1 ORDER BY date;
    Cela a l'air de marcher par contre, donc plus qu'à optimiser la requète et c'est bon

    PS: dsl pour la réponse tardive mais on a eu une coupure réseau imprévue

  4. #4
    Membre actif
    Inscrit en
    Juin 2006
    Messages
    431
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 431
    Points : 209
    Points
    209
    Par défaut
    Bon en fait aucune des deux ne semble marcher...

  5. #5
    Nouveau membre du Club
    Inscrit en
    Novembre 2003
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 39
    Points : 37
    Points
    37
    Par défaut
    Avez-vous essayer ceci ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     select  SuiNum,  SuiNo1, max(SuiNo2)
    from Suivi
    group by  SuiNum,SuiNo1;

  6. #6
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 099
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 099
    Points : 28 407
    Points
    28 407
    Par défaut
    Citation Envoyé par Mihaela
    Avez-vous essayer ceci ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     select  SuiNum,  SuiNo1, max(SuiNo2)
    from Suivi
    group by  SuiNum,SuiNo1;
    ...retournera toutes les lignes, puisque SuiNum est unique
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  7. #7
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 099
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 099
    Points : 28 407
    Points
    28 407
    Par défaut
    Et comme ça ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    SELECT  s.*
    FROM    Suivi   AS s
        INNER JOIN
            (   SELECT  t.SuiNo1
                    ,   MAX(t.SuiNo2)   AS LastSui
                FROM    Suivi   AS t
                GROUP BY    t.SuiNo1
            )   AS m
            ON  s.SuiNo1    = m.SuiNo1
            AND s.SuiNo2    = m.LastSui
    ;
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  8. #8
    Expert confirmé Avatar de Cybher
    Homme Profil pro
    Consultant réseaux et sécurité
    Inscrit en
    Mai 2005
    Messages
    3 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Consultant réseaux et sécurité
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 281
    Points : 4 644
    Points
    4 644
    Par défaut
    salut,

    peut etre ceci si SuiNo2 est toujours par ordre croissant pour un meme SuiNo1

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    select  max(SuiNum),  SuiNo1, max(SuiNo2)
    from Suivi
    group by  SuiNo1;
    Michel

  9. #9
    Membre actif
    Inscrit en
    Juin 2006
    Messages
    431
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 431
    Points : 209
    Points
    209
    Par défaut
    J'ai testé et le résultat à l'air correct dans mysql query browser. Je vais bosser un peu pour l'integrer à ma page asp. Merci Beaucoup pour vos réponses!

  10. #10
    Expert confirmé Avatar de Cybher
    Homme Profil pro
    Consultant réseaux et sécurité
    Inscrit en
    Mai 2005
    Messages
    3 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Consultant réseaux et sécurité
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 281
    Points : 4 644
    Points
    4 644
    Par défaut
    petit tag Résolu alors?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [langage] Supprimer un élément dans une liste
    Par myjuna dans le forum Langage
    Réponses: 15
    Dernier message: 06/08/2014, 11h49
  2. cacher un element d'une liste deroulante
    Par fallered dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 18/10/2005, 15h46
  3. Recherche Element dans une liste
    Par hellodelu dans le forum ASP
    Réponses: 7
    Dernier message: 19/08/2005, 10h56
  4. acceder au n iéme element d'une liste std::list
    Par sorari dans le forum SL & STL
    Réponses: 4
    Dernier message: 23/03/2005, 15h21
  5. selectionner le dernier element d'une liste box
    Par adilou1981 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 17/03/2005, 10h19

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