2016-05-26 10 views
1

私は蛇足のスニペットテーブルを持っています。ここで先週の合計件数を選択してください

Table

私はentry_status ="Completed"

を完了している。しかし、私は怒鳴る使用していますステータスを完了しているexpert_idトップ3を取得する方法のアイデアを取得していない午前先週のトップ3 expert_idを取得する必要がありますスニペットコード。

$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>"; 
} 

どのようにこれを行うに任意のアイデアがあります。

答えて

1

をしてみ働くことを願っています:

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 

私はそれをテストしていませんが、それうまくいくはずです。

考え方は、where条件でローをフィルタリングした後にexpert_idでグループ化し、count(*)で並べ替えることです。リミット3は最初の3だけを返します。

+0

どのようにカウントを表示しますか? –

+0

は、count_setの列は常に1に等しいですか? –

+0

私はselect count(*)AS 'cnt'とecho $ row ['cnt']を使いました。それは正しい方法ですか?カウントを表示するには –

0

SELECT COUNT DESCによってexpert_id順序によってテーブル名のグループから(個別のentrystatus)

私は、これは

関連する問題