Question pour une requete sous Oracle... [SQL] - SQL/NoSQL - Programmation
Marsh Posté le 28-05-2003 à 16:00:44
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() (), mais je ne sais pas si ca fonctionne avec des heures...
edit: c'est quoi la dernière colonne ?
Marsh Posté le 28-05-2003 à 16:01:35
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..
Marsh Posté le 28-05-2003 à 16:04:07
Code :
|
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.
Marsh Posté le 28-05-2003 à 16:06:15
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.
Marsh Posté le 28-05-2003 à 16:09:34
J'ai implémenté la méthode barbare...en attendant de voir si je trouve mieux..
Merci a tous!
Marsh Posté le 28-05-2003 à 16:16:58
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 !
Marsh Posté le 28-05-2003 à 16:17:12
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
Marsh Posté le 28-05-2003 à 16:29:59
Mara's dad a écrit : La méthode que je préfère : |
A tester..Mias je ne suis pas tres convaincu..
Merci quand meme!
Marsh Posté le 28-05-2003 à 16:36:56
Ben33 a écrit : |
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 .
Marsh Posté le 28-05-2003 à 15:41:02
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...