Bonjour tout le forum,

j'ai besoin de votre aide.

Je voudrait faire une moyenne de toutes les lignes d'une table sauf de la dernière.

J'ai utilisé AVG, ORDER BY id DESC et LIMIT 1,x sans succés

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
SELECT    AVG(chiffre) AS moyenne
FROM     table
WHERE    champ = 1
ORDER BY  id DESC
LIMIT    1,99
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
SELECT    AVG(chiffre) AS moyenne
FROM    table
WHERE    chiffre IN
(
    SELECT    chiffre
    FROM    table
    WHERE    champ = 1
    ORDER BY    id DESC
    LIMIT    1,99
)
la deuxième requête me renvoie :
This version of MySQL doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery'
Merci pour votre aide.

EDIT :
Pour l'instant je fais comme ça :
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
$somme = 0;
$nbEval = 0;
$chChiffre = $bdd->query
('
	SELECT		chiffre
	FROM		table
	WHERE		champ = 1
	ORDER BY	id DESC
	LIMIT		1,99
');
While($chif = $chChiffre->fetch()){
	$somme += $chif['chiffre'];
	$nbEval++;
}
$chChiffre->closeCursor();
$moyenne = $somme / $nbEval;
echo "Moyenne : ".$moyenne."<br>";