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 :

Occurrences contenant la date minimum, par client.


Sujet :

Langage SQL

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 26
    Points : 21
    Points
    21
    Par défaut Occurrences contenant la date minimum, par client.
    Bonjour à tous,

    Un problème qui sonne simple mais sur lequel je me casse les dents depuis plusieurs heures. (Et sur lequel quelques potes dev ont aussi séché)

    Je veux sélectionner PAR CLIENT, les occurrences contenant la date minimum.

    Voici ma table d'entrée :

    CLIENT_ID DATE_COMMANDE
    1 01/01/2012
    1 01/01/2012
    1 01/01/2012
    1 10/10/2013
    1 11/10/2013
    1 11/10/2013
    2 15/01/2011
    2 15/01/2011
    2 30/11/2013
    2 30/11/2013


    Voici ce que je veux obtenir :

    CLIENT_ID DATE_COMMANDE
    1 01/01/2012
    1 01/01/2012
    1 01/01/2012
    2 15/01/2011
    2 15/01/2011


    Je ne vous liste pas l'ensemble des requêtes que j'ai testé avec un min dans la sous requête et des group by dans tous les sens, ça servirait à rien.
    Enfin j'ai fait de multiples recherches sur le net, sans résultats, peut etre ai je mal cherché.

    Merci BEAUCOUP à vous tous.

  2. #2
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Points : 5 345
    Points
    5 345
    Par défaut
    bonjour,

    - faites une requete qui retourne, pour chaque client la date min (group by)
    - faites une jointure entre votre table et cette sous-requete

    postez vos essais.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 26
    Points : 21
    Points
    21
    Par défaut
    Merci beaucoup.

    C'est exactement la solution que j'ai utiliser. Je pensais qu'il en existait une plus directe, ma table étant très lourde.

  4. #4
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Points : 5 345
    Points
    5 345
    Par défaut
    Selon le sgbd vous pouvez aussi utiliser une approche sans jointure.

    Il faudra utiliser une fonction de fenetrage afin de classer les lignes (rank) : http://sqlpro.developpez.com/article...clause-window/

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

Discussions similaires

  1. trie par champ contenant une date
    Par kaleo dans le forum Linux
    Réponses: 4
    Dernier message: 29/03/2010, 15h07
  2. Réponses: 1
    Dernier message: 15/11/2005, 15h01
  3. Classer des messages par date ET par pertinence
    Par pocpoc2 dans le forum Décisions SGBD
    Réponses: 4
    Dernier message: 04/07/2005, 10h54
  4. [SAX] Utilisation du package contenant org.apache.xerces.par
    Par Sphost dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 17/01/2005, 11h07
  5. [Layout-Date] Configuration par fichier
    Par Koko22 dans le forum Struts 1
    Réponses: 4
    Dernier message: 28/07/2004, 09h39

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