2016-10-19 4 views
0

私は、そのカウントによってカテゴリの存在を取得しているプロシージャを保存しています。その合計パーセンテージが必要です。サンプルは私の合計値です。私は、サンプルのうち、はいまたはいいえの割合が必要です。助けてください。私のストアドプロシージャを以下に示します。 ストアドプロシージャのパーセンテージを取得する方法

BEGIN 

SELECT 

    SC.name as SC, 
    SUM(IF(is_category_present = 1, 1, 0)) as YES, 
    SUM(IF(is_category_present = 0, 1, 0)) as NO, 
    COUNT(OC.outlet_id) as SAMPLE 

FROM outlet_categories OC 
INNER JOIN outlets O on O.id = OC.outlet_id 
INNER JOIN sale_channels SC on SC.id = O.sale_channel_id 

WHERE OC.month = month 
AND CASE WHEN location_type = 1 THEN OC.zone_id = location 
     WHEN location_type = 2 THEN OC.state_id = location 
     WHEN location_type = 3 THEN OC.city_id = location 

    END 
AND OC.category_id = category_id 

GROUP BY SC.id; 

END 

答えて

1

単純な計算作業をする必要があります:

(SUM(IF(is_category_present = 1, 1, 0))*1.0)/COUNT(OC.outlet_id) * 100.0 AS perc_yes 
(SUM(IF(is_category_present = 0, 1, 0))*1.0)/COUNT(OC.outlet_id) * 100.0 AS perc_no 
+0

はどのように我々はまた、%記号を得ることができます。その点を教えてください – sukh

+0

'varchar'にキャストし、' CONCAT'を使って '%'記号を付け加えてください。 –

+0

回答を編集してください。 – sukh

関連する問題