正在嘗試使用此代碼找到總投票數,我有12個條件; 因此,我們將每個SHOP_ID的TOTAL加起來除以12(總共使用的列數)。 COUNT(shop_id)查找店鋪數量,例如,如果我有2個shop_id輸入,其中一個總共爲0(12個條目爲0),另一個總數爲60,除以12個條件,然後除以shop_id count 2 (60/12)/ 2 = 2.5 我希望結果爲5.有些如何不在分區中計算列的0。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條條件投票,其他11條爲0,並返回錯誤的結果,除以2將正確答案的一半
我已經上傳了一個可視化的例子,並縮短了從12到7的評級列出於測試目的。
怎麼樣使用'COUNT(*)'。 – Niranjan