2011-07-27 4 views
1

je besoin d'une requête qui montrera la moyenne des trois dernières entrées pour chaque utilisateur, puis afficher ces moyennes du plus élevé au plus basobtenir la moyenne des trois dernières entrées pour chaque utilisateur

Je peux extraire ce pour un utilisateur spécifique en utilisant:

SELECT x.`cf_user_id` , AVG(x.`text_2`) 
FROM 
(SELECT t.`cf_user_id` , t.`text_2` 
FROM `jos_chronoforms_skills_drawback` t 
WHERE t.`cf_user_id` = 62 
ORDER BY t.`cf_id` DESC 
LIMIT 3) x 
GROUP BY x.`cf_user_id` 

Mais j'en ai besoin pour chaque utilisateur.

Thanx une tonne pour votre aide

Mark

+2

Prenez votre clause where, je doute que chaque utilisateur a un identifiant de 62 –

Répondre

0

Votre sql a une clause WHERE identifiant un utilisateur spécifique. Si vous voulez que cela pour tous les utilisateurs, retirez votre WHERE clause

SELECT x.`cf_user_id` , AVG(x.`text_2`) 
FROM 
(
    SELECT t.`cf_user_id` , t.`text_2` 
    FROM `jos_chronoforms_skills_drawback` t 
    ORDER BY t.`cf_id` DESC 
    LIMIT 3 
) x 
GROUP BY x.`cf_user_id` 
Questions connexes