probleme de requete pour recuperer un max - SQL/NoSQL - Programmation
Marsh Posté le 13-02-2008 à 15:15:18
je comprends pas !
si je traduis "c'est recuperer les infos de la deuxieme ligne
c'est à dire celle inferieur au A 21/11/2007 14:50:50 126 1 78" cela donne
Code :
|
et dans ce cas j'ai trois lignes ce qui me semble juste en terme de resultat.
D'ou je ne suis pas sur que ta demande soit claire
Marsh Posté le 14-02-2008 à 05:58:40
en faite je souhaite recuperer que cette ligne
Citation : |
c'est à dire celle dont la date est inferieur à cette date "21/11/2007 16:50:50" ,ensuite dans toutes lignes qui seront inferieur à cette date, je souhaite recuperer la ligne avec le max date (21/11/2007 14:50:50 )
et si jamais j'ai deux ligne avec la même date , je prends celle qui à la plus grand C (max(c) ) dans mon cas = 126
et donc au final je dois avoir qu'une seule ligne :
A 21/11/2007 14:50:50 126 1 78 (date inferieur à 21/11/) et max(C))
Marsh Posté le 14-02-2008 à 11:55:30
SELECT *
FROM TaTable
WHERE B < '21/11/2007 16:50:50'
ORDER BY B, C DESC
Et toi tu met LIMIT 0, 1 soit un TOP 1 en inversant les ORDERS
Sinon tu fais une requete imbriqué pour le MAX
Marsh Posté le 18-02-2008 à 10:45:18
ReplyMarsh Posté le 18-02-2008 à 15:24:22
donny3 a écrit : je comprends pas trop l'histoire du LIMIT 0,1 ??? |
LIMIT x,y : Renvoie y element à partir de l'élément x
Dans ton cas renvoie 1 élément à partir de l'élément 0 = renvoie le premier élément
Marsh Posté le 13-02-2008 à 15:01:16
salut,
J'ai une table qui contient ses données
A B C D E
Z 21/11/2007 16:50:50 127 1 45
A 21/11/2007 14:50:50 126 1 78
Y 21/11/2007 14:50:50 125 1 22
V 21/11/2007 13:50:50 124 1 56
ce que je souhaiterais c'est recuperer les infos de la deuxieme ligne
c'est à dire celle inferieur au A 21/11/2007 14:50:50 126 1 78
et pour cela je fois 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 deux lignes, je suis un peu perdu
SELECT max(B),max(C),D,E FROM matable
WHERE B < TO_DATE('21/11/2007 16: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 à tous.