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

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [SQL] Question pour une requete sous Oracle...

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[SQL] Question pour une requete sous Oracle...

n°410544
ben33
Posté le 28-05-2003 à 15:41:02  profilanswer
 

Voila dans ma table g ca..
Date             Time
01/01/2002 10:00   0
01/01/2002 10:01   1
...
01/01/2002 12:00   120
 
C'est un exemple...c un peu plus compliqué en réalité..
Quelle requete faire pour n'avoir en réponse du select que la derniere ligne...? (soit 01/01/2002 12:00  120)
 
 
Merci beaucoup!
Ca urge assez... :)

mood
Publicité
Posté le 28-05-2003 à 15:41:02  profilanswer
 

n°410572
backdafuck​up
Back to da old skool
Posté le 28-05-2003 à 16:00:44  profilanswer
 

si tu avais lu les regles, tu aurais vu qu'on ne dit pas que "ca urge...". M'enfin...
 
Sinon, pour ta requete, oriente toi vers la fonction MAX() ([:google]), mais je ne sais pas si ca fonctionne avec des heures...
 
edit: c'est quoi la dernière colonne ?


Message édité par backdafuckup le 28-05-2003 à 16:01:12
n°410573
ben33
Posté le 28-05-2003 à 16:01:35  profilanswer
 

Le probleme du Max c que qd tu fais un select sur plusieurs champs, il faut un group by...et la ...
Enfin voila!
 
Merci pour ton aide..

n°410577
Masure
Posté le 28-05-2003 à 16:04:07  profilanswer
 

Code :
  1. declare
  2. v_max integer ;
  3. begin
  4. select max(taColonne) into v_max from taTable ;
  5. select * from taTable where taColonne = v_max ;
  6. end


 
Debrouille toi pour que le max de taColonne traite quelquechose de significatif. Je me suis jamais trop penché sur les dates et heures en oracle et je ne sais pas comment tu les stockes, mais si tu veux faire un max dessus, assure toi que max gère une date/heure. Si c'est pas le cas, il faudra au préalable travailler sur ces deux champs pour faire ton max. Enfin tu vois le topo quoi.


Message édité par Masure le 28-05-2003 à 16:04:56
n°410580
thecoin
Chasseur de chasseur de canard
Posté le 28-05-2003 à 16:06:15  profilanswer
 

Methode barbare:
 
SELECT date,time FROM table WHERE id = (SELECT MAX(id) FROM table)
 
Et comme ca tu peux faire la requete avec les champs que tu veux et pas besoin de GROUP BY.

n°410585
ben33
Posté le 28-05-2003 à 16:09:34  profilanswer
 

J'ai implémenté la méthode barbare...en attendant de voir si je trouve mieux..
 
Merci a tous!

n°410599
Mara's dad
Yes I can !
Posté le 28-05-2003 à 16:16:58  profilanswer
 

La méthode que je préfère :
 
SELECT date,time FROM table WHERE ROWNUM=1 ORDER BY time DESC
 
A condition de ne vouloir qu'une seule ligne bien sûr !


Message édité par Mara's dad le 28-05-2003 à 16:18:05

---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°410600
Masure
Posté le 28-05-2003 à 16:17:12  profilanswer
 

trier par id ca veut pas dire grand chose quand meme, il vaudrait mieux qu'il se penche sur un max de date heure avec les traitements que ca implique

n°410616
ben33
Posté le 28-05-2003 à 16:29:59  profilanswer
 

Mara's dad a écrit :

La méthode que je préfère :
 
SELECT date,time FROM table WHERE ROWNUM=1 ORDER BY time DESC
 
A condition de ne vouloir qu'une seule ligne bien sûr !


 
A tester..Mias je ne suis pas tres convaincu..
Merci quand meme!

n°410621
Mara's dad
Yes I can !
Posté le 28-05-2003 à 16:36:56  profilanswer
 

Ben33 a écrit :


 
A tester..Mias je ne suis pas tres convaincu..
Merci quand meme!


 
J'ai testé les deux sur une grosses table ( 4.172.357 enregs ) et c'est le même temps de réponse : ~170 ms la première fois puis ~50 ms la deuxième et les suivantes .


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.

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

  [SQL] Question pour une requete sous Oracle...

 

Sujets relatifs
[postgresql] [resolu] Probleme de language SQLExtraire des données d'une base SQL Anywhere
Pb avec une requete: recuperer des valeurs separees par des virgulesPb de requete sous ACCESS (utilisation de max)
Petite question a propos des namespaces[C#] [ASP] [SQL Server 2000] Fonctions built-in de SQL ne marchent pas
Une petite question sur delete...Comment savoir si une requête à bien fonctionnée avec un Resultset
Saisir une valeur dans une procédure stockée oracle[Oracle] Casse tete avec des triggers qui s'auto paralysent...
Plus de sujets relatifs à : [SQL] Question pour une requete sous Oracle...


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