2016-05-26 1 views
1

J'ai un tableau d'abbrément.Sélectionner la somme de la dernière semaine

Table

Ici je dois chercher le top 3 expert_id de la dernière semaine qui ont terminé entry_status ="Completed"

Mais je ne reçois pas idée comment récupérer expert_id top 3 qui ont le statut Terminé j'utilise ci-dessous code d'extrait.

$query = mysql_query("SELECT sum(count_set) 
    AS 'meta_sum' FROM wp_lead_action_records_date_status 
    WHERE 
    last_updated_date >= curdate() - INTERVAL DAYOFWEEK(curdate())+6 DAY 
    AND last_updated_date < curdate() - INTERVAL DAYOFWEEK(curdate())-1 DAY 
    AND entry_status ='Completed' 
    AND entry_status ='Completed'") OR DIE(mysql_error()); 

while($row = mysql_fetch_assoc($query)) { 
    echo "Count sum " . $sql_chk_current_sum_count = $row['meta_sum']; 
    echo "<br>"; 
} 

Donc, tout le monde a une idée de comment faire cela.

Répondre

1

Essayez avec:

select count(*), expert_id from wp_lead_action_records_date_status 
where last_updated_date >= curdate() - INTERVAL DAYOFWEEK(curdate())+6 DAY 
    AND last_updated_date < curdate() - INTERVAL DAYOFWEEK(curdate())-1 DAY 
    AND entry_status ='Completed' 
    AND entry_status ='Completed' 
group by expert_id 
order by count(*) desc 
limit 3 

Je ne l'ai pas testé, mais il devrait marcher. L'idée est qu'après avoir filtré les lignes avec les conditions where, vous les groupez par expert_id et ensuite les ordonnez par count (*). La limite 3 ne renverra que la première 3.

+0

Comment puis-je compter? –

+0

est la colonne count_set toujours égale à 1? –

+0

J'ai utilisé select count (*) AS 'cnt' et echo $ row ['cnt']; est-ce juste? afficher le compte –

0

nombre de sélection (entrystatus distincte) du groupe tablename par ordre expert_id par desc

J'espère que cela fonctionnera