Le Mardi, 27 Août 2002 17.28, Sagon Yann écrit :
> Je fais donc:
> mysql> SELECT count(id_project), avg(value) FROM answers WHERE
> id_project='25' AND (id='4' or id='3') group by id_user;
> +-------------------+------------+
>
> | count(id_project) | avg(value) |
>
> +-------------------+------------+
>
> |                 2 |     2.0000 |
> |                 2 |     3.0000 |
> |                 2 |     1.0000 |
>
> +-------------------+------------+
> 3 rows in set (0.00 sec)
>
> Ce n'est pas ça que je veux, j'aurais voulu obtenir:
> +-------------------+------------+
>
> | count(id_project) | avg(value) |
>
> +-------------------+------------+
>
> |                 3 |     2.0000 |
>
> +-------------------+------------+
>
> Comment faire? merci beaucoup!
Dans ton exemple count(id_project) a une valeur de 6. Si tu fais:
mysql> select distinct count(id_project), avg(value) FROM answers WHERE
 id_project='25' AND (id='4' or id='3');
 +-------------------+------------+

 | count(id_project) | avg(value) |

 +-------------------+------------+

 |                 6 |     2.0000 |

 +-------------------+------------+
 3 rows in set (0.00 sec)

Sinon tu renvoies le résultat de la première requête (update) dans une table 
temp et tu fais une 2éme requête pour avoir le count à 3 et avg à 2

Blaise Vogel
--
http://www-internal.alphanet.ch/linux-leman/ avant de poser
une question. Ouais, pour se désabonner aussi.

Répondre à