Ajouter des conditions IF/ ELSE dans mysql
Bonjour à tous,
J'aimerais calculer et afficher une moyenne seulement si une certaine condition s'applique. Pour faire simple je donne cette exemple:
Code:
1 2 3
| $sql="SELECT t.auteur_id, t.cours_id,";
$sql.="CASE WHEN t.auteur_id ='3' THEN 'avg(t.score)' ELSE '' END ";
$sql.="FROM Auteur t"; |
Donc ici, j'aimerais afficher la moyenne d'un score seulement si auteur_id =3.
Mais j'ai toujours une erreur de syntaxe que j'ignore comment régler.
Merci pour votre aide.
Ajouter des conditions IF/ ELSE dans mysql
ok, je vais donner un autre exemple qui peut être sera plus clair et va mieux expliquer mon besoin.
J'ai la table suivante:
Code:
1 2 3 4 5 6 7
| id note1 note2 timestamp
1 3 0 12 mars
2 5 0 12 mars
3 6 0 12 mars
4 5 6 15 mars
5 7 7 15 mars
6 4 0 15 mars |
La colonne note2 a été ajouté dans la table le 15 mars. Quand j'ai ajouté la colonne note2, les 0 ont été ajoutés par défaut dans les dates avant le 15 mars, alors que c'est pas une vrai note qui doit être calculée dans la moyenne. Par contre le 0 de la note2 pour le id 6 est un vrai 0 car ca été ajouté à partir du 15 mars et doit être calculé dans la moyenne. Donc ce que je veux faire, c'est que la moyenne de la note2 se calcule à partir de 15 mars.
Autrement-dit, je dois ajouter dans ma requête une syntaxe du genre: si le timestamp est plus grand ou égal au 15 mars on calcule la moyenne de la note2, sinon on prends pas cette note en considération
J'espère que maintenant vous comprenez mieux mon besoin