このコードを使用して合計投票を検索しようとしていますが、私には12の基準があります。 したがって、SHOP_IDごとにTOTALを合計し、12で割る(合計するために使用された列の数)。 COUNT(shop_id)は店舗の数を見つけます。たとえば、2つのshop_id入力が1つあり、合計が0(12の項目が0)で、もう1つが合計で60が12の基準で除算され、shop_idカウント2 (60/12)/ 2 = 2.5 私は結果を5にしたいと思います。SQL、0の値を数えない方法
$sel = mysql_query("SELECT SUM(comfort + service + ambience + mood + spacious +
experience + cleanliness+ price + drinks + food + music + toilets)/(12/COUNT(shop_id) as total
FROM ratings
WHERE shop_id = $shop_id");
if(mysql_num_rows($sel) > 0){
while($data = mysql_fetch_assoc($sel)){
$total = $total + $data['total'];
$rows++;
}
$perc = ($total/$rows);
return round($perc,2);
} else {
return '0';
}
イメージを供給すれば、達成しようとしているイメージが視覚的に表示されますか?
各行は1票ではなく、各shop_idは12票です。 各列のカテゴリ名:comfort + service + ambienceは列IDで、そのフィールドへのエントリは1票、12票1票、1票に投票すると0票、0票、 2で除算すると正解の半分になります。
視覚的な例をアップロードし、評価のために評価欄を12から7に短縮しました。
何 'COUNT(*)を'使用について。 – Niranjan