Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1351 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  requete sql avec max sous oracle

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

requete sql avec max sous oracle

n°1646993
donny3
Posté le 22-11-2007 à 09:34:00  profilanswer
 

salut,
 
J'ai une table qui contient ses données
 
 

Citation :

A B C D E
Y 21/11/2007 14:50:50 123 1 22
V 21/11/2007 15:50:50 124 1 56  
V 21/11/2007 15:50:50 125 1 78  

 
 
ce que je souhaiterais c'est recuperer les infos à une date donnée,sachant que je peux avoir des enregistrements ayant une meme date ,mais des numeros d'enregistrement different (colonne C).
par exemple si je veux recuperer tous les enregistrement pour lesquelles la date est inferieur au
22/11/2007 15:50:50, je devrais avoir cette ligne :
 
V 21/11/2007 15:50:50 125 1 78  
 
et pour cela je dois faire une requete qui me retourne le max B (la date) et le max C;
j'ai fait cette requete mais elle me retourne les 3 lignes, je suis un peu perdu
 
 

Citation :

SELECT  max(B),max(C),D,E FROM matable
WHERE B < TO_DATE('21/11/2007 15:50:50, 'DD/MM/YYYY HH24:MI:SS')
and D= 1
group by D,E


 
 
est ce que vous voyez comment je pourrai faire ?
 
merci

mood
Publicité
Posté le 22-11-2007 à 09:34:00  profilanswer
 

n°1647042
MagicBuzz
Posté le 22-11-2007 à 10:34:46  profilanswer
 

regarde la doc de la clause HAVING.
http://technet.microsoft.com/fr-fr [...] 80199.aspx

n°1647094
casimimir
Posté le 22-11-2007 à 11:50:13  profilanswer
 

ca devrait le faire
 

Code :
  1. select distinct
  2. first_value(a)over(partition by b order by c desc) as a,
  3. first_value(b)over(partition by b order by c desc) as b,
  4. first_value(c)over(partition by b order by c desc) as c,
  5. first_value(d)over(partition by b order by c desc) as d,
  6. first_value(e)over(partition by b order by c desc) as e
  7. from toto

n°1647785
donny3
Posté le 23-11-2007 à 10:42:39  profilanswer
 

j'ai essayer elle ne fonctionne pas casimir

n°1647797
donny3
Posté le 23-11-2007 à 10:55:48  profilanswer
 

personne ne voit comment faire pour recuperer cette ligne
V 21/11/2007 15:50:50 125 1 78    
qui correspond au max de la date et au max de la colonne C ???
 
Merci

n°1647821
anapajari
s/travail/glanding on hfr/gs;
Posté le 23-11-2007 à 11:20:08  profilanswer
 

Magic t'avais donné une bonne piste avec le having...
Maintenant j'aurais tendance à préferer une requête du style

Code :
  1. SELECT  B,C,D,E FROM matable
  2. WHERE B < TO_DATE('21/11/2007 15:50:50', 'DD/MM/YYYY HH24:MI:SS')
  3. AND D= 1
  4. ORDER BY B DESC, C DESC
  5. WHERE rownum=1


Message édité par anapajari le 23-11-2007 à 11:20:18
n°1647867
casimimir
Posté le 23-11-2007 à 12:16:05  profilanswer
 

ha ok il ne faut qu'une seule ligne ^^
sry j'avais mal compris


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  requete sql avec max sous oracle

 

Sujets relatifs
Oracle SQL - Requête fausse[Oracle] Sous requête contenant un ORDER BY (pagination)
[ORACLE] Problème execution requête SELECT[PHP][ORACLE] Problème de requête SQL
[Oracle] Requete sur les schémas.Aide requete oracle, sum sur 2 tables différentes
Aide creation requete oraclePB Requete de calcul sous oracle
[Oracle ASM] Problème d'optimisation de requête suite à migration[Oracle] Optimisation d'une requête de mise à jour
Plus de sujets relatifs à : requete sql avec max sous oracle


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR