2010-11-11 19 views
1

Je reçois une utilisation invalide de la fonction de groupe, pas vraiment sûr où le problème estmysql: choisir entre

résultat attendu est la liste des horodateurs de quelques secondes xxx à partir du maximum disponible

S'il vous plaît conseiller.

 
SELECT timestamp, response_time 
FROM results 
WHERE id = XYZ AND timestamp between 
(SELECT MAX(timestamp) FROM results inn WHERE id = 22) AND 
(SELECT timestamp FROM results WHERE id =22 AND timestamp = MAX(timestamp) - XXX) 
ORDER BY timestamp DESC 

merci

+0

'XYZ' et' 22' sont différents? – Quassnoi

Répondre

2
SELECT timestamp, response_time 
FROM results 
WHERE id = @xyz 
     AND timestamp BETWEEN 
     ( 
     SELECT MAX(timestamp) 
     FROM results 
     WHERE id = 22 
     ) AND 
     ( 
     SELECT MAX(timestamp) 
     FROM results 
     WHERE id = 22 
     ) - @xxx 
ORDER BY 
     timestamp DESC 

Assurez-vous que vous avez un index sur (id, timestamp) pour que cela fonctionne rapidement.

+0

merci pour la réponse super rapide, maintenant je sais mon erreur. – m1k3y3