2013-09-04 5 views
0

Je souhaite atteindre la valeur maximale d'une série mais cette valeur doit être inférieure à ma valeur actuelle.Requête MYSQL avec fonction de groupe

Par exemple ceci est ma série;

34 45 78 96 *114* 567 

et 114 est ma valeur actuelle. Comment puis-je atteindre 96?

J'ai essayé ci-dessous requête, mais il donne erreur Invalid use of group function

SELECT ph_id FROM `photos` WHERE max(ph_id)<114 GROUP BY ph_id; 

Si cela fonctionne, je vais remplacer 114 avec une variable

+0

Si vous le faites cela fonctionnera :) – hakiko

Répondre

0

Essayez

SELECT MAX(ph_id) FROM `photos` WHERE ph_id < 114 GROUP BY ph_id; 
+0

Veuillez supprimer max() de la clause WHERE. – hakiko

+0

Il a été changé, merci. – Tommassiov

0

besoin d'utiliser la clause HAVING toutes les fonctions d'agrégation:

SELECT MAX(ph_id) FROM `photos` HAVING max(ph_id)<114 ; 
Vous devez appliquer la fonction MAX sur l'instruction SELECT
0
select max(ph_id) from photos where ph_id<114 group by ph_id ; 
Vous devez appliquer la fonction MAX à l'instruction SELECT