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,99la deuxième requête me renvoie :
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 )
Merci pour votre aide.This version of MySQL doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery'
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>";
Partager