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 :

Pb requete


Sujet :

Langage SQL

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 69
    Points : 59
    Points
    59
    Par défaut Pb requete
    bonjour a tous
    sous MSSQL serveur 2000 j'ai la table suivante:

    Date--------------------------ID------NumeroService


    01/01/2005 12:00:00 ****1*******1
    01/01/2005 12:30:00 ****1*******2
    01/01/2005 12:55:00 ****1*******1
    02/01/2005 13:45:00 ****1*******5


    Je voudais retourner les ligne ayant un numeroSevice Max de la journée
    Le resultat devrait etre comme ceci:

    01/01/2005 12:30:00 ****1*******2
    02/01/2005 13:45:00 ****1*******5

    Merci de votre aide.

  2. #2
    Membre habitué Avatar de .:morgoth:.
    Profil pro
    Inscrit en
    Février 2005
    Messages
    124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 124
    Points : 132
    Points
    132
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select MAX(NumeroService) from table group by Date;

  3. #3
    Membre averti
    Inscrit en
    Mars 2004
    Messages
    425
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 425
    Points : 358
    Points
    358
    Par défaut
    Essaies ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select Date, ID,MAX(NumeroService) from table group by Date, ID

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 69
    Points : 59
    Points
    59
    Par défaut
    Salut

    Merci a vous mais j'avais deja essayé les 2 requetes precedentes mais elles me retournent toujours le contenu de ma table initiale càd les 2 numeroService de la meme journée or, je voudrais le Max pour la journée...

    Merci...

  5. #5
    Membre habitué Avatar de .:morgoth:.
    Profil pro
    Inscrit en
    Février 2005
    Messages
    124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 124
    Points : 132
    Points
    132
    Par défaut
    Euh attends tu dis qu'elle fait quoi ma requete ?
    J'arrive pas a voir ou est le pb la ...

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 91
    Points : 71
    Points
    71
    Par défaut
    En fait ton probleme réside dans le faite que dans ton champs date tu as la date et l'heure... L'heure est a chaque fois différentes donc on ne peut pas grouper par date.
    Soit tu découpes ton champs , de sorte a prendre que la date (01/01/2005)
    ou soit tu crées un nouveau champs dans lequel tu place l'heure
    (tu aurai donc : date heure id NumeroService) et la tu fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT date, Max(NumeroService)
    FROM table
    GROUP BY date;

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 69
    Points : 59
    Points
    59
    Par défaut
    Ben ...le premiere requete retourne le Max(numeroService) groupé par date ...mais moi je voudrais le Mex(numeroService) de la journéé du 01/01/2005 par exemple ....
    Ta requete retourne les 2: celle du 01/01/2005 a 12:00:00 et celle du 01/01/2005 a 12:30:00....
    J'espere que je suis assez claire...

  8. #8
    Membre habitué Avatar de .:morgoth:.
    Profil pro
    Inscrit en
    Février 2005
    Messages
    124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 124
    Points : 132
    Points
    132
    Par défaut
    Ah oui autant pour moi j'avais pas vu que Date et Heure etaient groupés, donc ma requete peut pas marcher.
    Si ton SGBD le permet tu peux cependant faire un substring pour récupérer que la partie de la date (ca marche sur certains ):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select MAX(NumeroService) from table group by SUBSTRING (Date1,1,10);

  9. #9
    Membre averti Avatar de Cerberes
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    328
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2004
    Messages : 328
    Points : 338
    Points
    338
    Par défaut
    Je n'essaie même pas de comprendre tant que le titre du post est aussi vague.

    Merci de renommer le titre du post.

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 69
    Points : 59
    Points
    59
    Par défaut Requete avec Group By
    Comme je suis sous SQL server , j'ai pas trouvé de fonction qui me formate mon champs en jj/mm/aaaa

    Mais est ce qu'on peut faire ca genre :

    select format(date,"yyyy/mm/dd") as journee ,max(numservice) as Mx

    group by journee, Mx

    Merci....

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 69
    Points : 59
    Points
    59
    Par défaut
    Substring ne fonctionne pas avec les champs de type datetime .........

  12. #12
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 91
    Points : 71
    Points
    71
    Par défaut
    Mais c'est pas une question de formatage ton probème ....
    Il faut juste que tu changes l'organisation de ta table.

    Soit tu fais comme te l'a expliqué .:morgoth:. (substring...)
    Soit tu stockes l'heure dans un autre champs.

    Voila je pense que c'est clair ?

  13. #13
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    956
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 956
    Points : 1 199
    Points
    1 199
    Par défaut
    Sous sql server ton format peut se faire avec un convert.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    select convert(varchar(10),MADate,102), ID,MAX(NumeroService) from MAtable 
    group by convert(varchar(10),MADate,102), ID
    Tu peux aussi essayer un convert 112.
    102 format yyyy.mm.dd
    112 format yyyymmdd
    a+
    Soazig

  14. #14
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 69
    Points : 59
    Points
    59
    Par défaut
    Merci.a tous...CONVERT fait l'affaire..

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

Discussions similaires

  1. requete avec OBCD et visual c++
    Par Anonymous dans le forum MFC
    Réponses: 12
    Dernier message: 18/11/2004, 16h15
  2. Requete requête sous sybase
    Par eddie dans le forum Sybase
    Réponses: 3
    Dernier message: 02/04/2003, 14h51
  3. Paramètre requete SQL (ADOQuery)
    Par GaL dans le forum C++Builder
    Réponses: 3
    Dernier message: 30/07/2002, 11h24
  4. Resultat requete SQL
    Par PierDIDI dans le forum Bases de données
    Réponses: 2
    Dernier message: 23/07/2002, 13h43
  5. [Kylix] Requetes Kylix pour postgres
    Par Miltown dans le forum EDI
    Réponses: 1
    Dernier message: 29/05/2002, 20h22

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