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

SQL Oracle Discussion :

MAX dans une requête


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Octobre 2005
    Messages
    132
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 132
    Par défaut MAX dans une requête
    Bonjour je souhaite utiliser la fonction MAX dans une requête mais rien a faire, le résultat me ressort toutes les dates, avez vous une idée du problème ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SELECT PRFL_TYPE.PRFL_TYPE_NAM, PRFL.DSCT_DAT, PRFL.PRFL_TYPE_ID, PRFL.PRFL_ID, PRFL_PRMT_VAL.ARY_INDX_NBR_1, PRFL_PRMT_VAL.ARY_INDX_NBR_2, PRFL_PRMT_VAL.PRMT_VAL, MAX(PRFL_PRMT_VAL.EFTV_DAT_ID) 
    FROM EWRFRMASTER.PRFL , EWRFRMASTER.PRFL_PRMT_VAL , EWRFRMASTER.PRFL_TYPE 
    WHERE ( (PRFL_TYPE.PRFL_TYPE_ID = PRFL.PRFL_TYPE_ID) AND
    (PRFL_PRMT_VAL.PRFL_TYPE_ID = PRFL.PRFL_TYPE_ID) AND
    (PRFL_PRMT_VAL.PRFL_ID = PRFL.PRFL_ID) AND
    (PRFL.DSCT_DAT = '31/12/2099') AND (UPPER(PRFL.PRFL_TYPE_ID) = UPPER('rate')) AND (PRFL.PRFL_ID = 'vol_971') AND (PRFL_PRMT_VAL.ARY_INDX_NBR_1 = 724) AND (UPPER(PRFL_TYPE.LNGG_ID) = UPPER('f')) ) 
    GROUP BY PRFL_TYPE.PRFL_TYPE_NAM, PRFL.DSCT_DAT, PRFL.PRFL_TYPE_ID, PRFL.PRFL_ID, PRFL_PRMT_VAL.ARY_INDX_NBR_1, PRFL_PRMT_VAL.ARY_INDX_NBR_2, PRFL_PRMT_VAL.PRMT_VAL
    Merci d'avance !

  2. #2
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par crapouye Voir le message
    Bonjour je souhaite utiliser la fonction MAX dans une requête mais rien a faire, le résultat me ressort toutes les dates, avez vous une idée du problème ?
    Et on devine le résultat que tu veux ?
    Boule de cristal...

  3. #3
    Invité
    Invité(e)
    Par défaut
    Pourquoi ne pas remplacer
    par

  4. #4
    Expert confirmé
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2005
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2 944
    Par défaut
    Citation Envoyé par Jerome_Mtl Voir le message
    Et on devine le résultat que tu veux ?
    hmm, peut-être :-)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    select deptno,empno,ename,job,max(hiredate) hiredate
    from emp
    group by deptno,empno,ename,job
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
        DEPTNO      EMPNO ENAME      JOB       HIREDATE 
    ---------- ---------- ---------- --------- ---------
            20       7566 JONES      MANAGER   02-APR-81
            20       7788 SCOTT      ANALYST   19-APR-87
            30       7698 BLAKE      MANAGER   01-MAI-81
            30       7521 WARD       SALESMAN  22-FEB-81
            10       7839 KING       PRESIDENT 17-NOV-81
            30       7900 JAMES      CLERK     03-DEZ-81
            10       7782 CLARK      MANAGER   09-JUN-81
            10       7934 MILLER     CLERK     23-JAN-82
            20       7369 SMITH      CLERK     17-DEZ-80
            30       7499 ALLEN      SALESMAN  20-FEB-81
            30       7654 MARTIN     SALESMAN  28-SEP-81
            30       7844 TURNER     SALESMAN  08-SEP-81
            20       7876 ADAMS      CLERK     23-MAI-87
            20       7902 FORD       ANALYST   03-DEZ-81
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT deptno,empno,ename,job,hiredate FROM emp 
    WHERE (hiredate,deptno) IN 
      (SELECT max(hiredate),deptno FROM emp GROUP BY deptno)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        DEPTNO      EMPNO ENAME      JOB       HIREDATE 
    ---------- ---------- ---------- --------- ---------
            30       7900 JAMES      CLERK     03-DEZ-81
            20       7876 ADAMS      CLERK     23-MAI-87
            10       7934 MILLER     CLERK     23-JAN-82
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    select 
      DEPTNO,
      MAX(EMPNO) KEEP (DENSE_RANK LAST ORDER BY HIREDATE,EMPNO) EMPNO,
      MAX(ename) KEEP (DENSE_RANK LAST ORDER BY HIREDATE,EMPNO) ename,
      MAX(job) KEEP (DENSE_RANK LAST ORDER BY HIREDATE,EMPNO) job,
      MAX(hiredate) hiredate
    FROM EMP
    GROUP BY DEPTNO
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        DEPTNO      EMPNO ENAME      JOB       HIREDATE 
    ---------- ---------- ---------- --------- ---------
            10       7934 MILLER     CLERK     23-JAN-82
            20       7876 ADAMS      CLERK     23-MAI-87
            30       7900 JAMES      CLERK     03-DEZ-81

  5. #5
    Membre confirmé
    Inscrit en
    Octobre 2005
    Messages
    132
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 132
    Par défaut
    Salut, désolé dans la précipitation, je n'ai même pas indiqué que je ne souhaitais qu'une seule date..

    Merci pour ces exemples de code, je pense qu'avec ça je vais m'en sortir. je vous tiens au courant, merci

  6. #6
    Expert confirmé
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2005
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2 944
    Par défaut
    dans ce cas tu peux aussi faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select * from (select * from emp order by hiredate desc) where rownum=1

Discussions similaires

  1. Valeur MAX dans une requête
    Par BenMarcel dans le forum PL/SQL
    Réponses: 4
    Dernier message: 15/02/2012, 14h49
  2. [AC-2007] Max et Dernier dans une requête sql.
    Par Nounours1 dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 23/07/2010, 20h08
  3. Utilisation de MAX avec String dans une requête SQL
    Par Sun03 dans le forum Langage SQL
    Réponses: 1
    Dernier message: 30/04/2010, 12h22
  4. Problème select MAX(annee) dans une requête
    Par grisounette dans le forum Requêtes et SQL.
    Réponses: 7
    Dernier message: 28/10/2004, 17h36
  5. Utilisation de MAX dans une requête SQL
    Par Evil onE dans le forum Langage SQL
    Réponses: 7
    Dernier message: 15/06/2004, 18h38

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