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 :

Selection Max d'une date


Sujet :

Langage SQL

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Août 2011
    Messages : 7
    Points : 6
    Points
    6
    Par défaut Selection Max d'une date
    Bonjour à tous

    Voici mon problème :

    J'ai une table suivante :

    id b date
    777 30/07/2014
    777 test 22/05/2014
    666 test 15/05/2013
    245 test 15/05/1989
    123 test 15/05/2012

    je souhaite effectuer une requête dont le résultat me donnerai la colonne "a" et le max("c") si "b" n'est pas null.

    en clair mon résultat final j'aurais pour chaque id de la colonne "a" le max de la date "c" mais sans prendre en compte lorsque "b" n'est pas null

    Dans mon exemple, je voudrais en résultat final :

    777 22/05/2014
    666 15/05/2013
    245 15/05/1989
    123 15/05/2012

    Merci de votre aide.

    Je travail sous une base Oracle.

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 262
    Points : 12 936
    Points
    12 936
    Par défaut
    Bonjour,
    Tout est dit dans la demande !
    il suffit de traduire en SQL:
    Citation Envoyé par emax2k Voir le message
    ... la colonne "a" et le max("c")...
    C'est la clause SELECT
    Citation Envoyé par emax2k Voir le message
    ... si "b" n'est pas null...
    C'est la clause WHERE. Il n'y a plus qu'à ajouter le GROUP BY, et le tour est joué...

    Tatayo.

  3. #3
    Membre expérimenté
    Homme Profil pro
    Ingenieur de recherche - Ecologue
    Inscrit en
    Juin 2003
    Messages
    1 157
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingenieur de recherche - Ecologue

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 157
    Points : 1 414
    Points
    1 414
    Par défaut
    La lecture des cours et tutoriels disponibles sur le site t'aurais sans doute permis de trouver la solution, car c'est une requête presque d'école.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT id, MAX(date)
        FROM table
        WHERE b IS NOT NULL
    GROUP BY id
    olivier

    NB : Donner un mot-clé (date) comme nom de colonne est une très mauvaise idée, qui va finir par te poser des soucis !

Discussions similaires

  1. Select avec max sur une date
    Par olibara dans le forum Requêtes
    Réponses: 10
    Dernier message: 06/07/2010, 07h18
  2. Plusieurs Select Max() dans une seule table
    Par lindag dans le forum Designer
    Réponses: 6
    Dernier message: 08/10/2009, 13h51
  3. Max a une date precise mais doit retourner aussi si dernier
    Par cloche44 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 29/01/2007, 09h51
  4. fonction MAX sur une date
    Par Poisson59 dans le forum MS SQL Server
    Réponses: 14
    Dernier message: 08/09/2006, 14h59
  5. [oracle 9i] Max d'une date
    Par Requin15 dans le forum Langage SQL
    Réponses: 7
    Dernier message: 09/06/2006, 15h09

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