2017-04-14 6 views
-1

次のSQLクエリでは、最初のクエリセットと2番目のクエリクエリを分割します。除算を行うSQLクエリ

SELECT 
FROM 
(
    SELECT `Business_Unit`, 
    COUNT(`Joining_Month`) AS A 
    FROM `jl` 
    WHERE `Final_Status` = 'Joined' 
    AND `Source_wise` = 'Referral' 
    AND `Hiring_Catg` IN ('Lateral','Contract Conversion') 
    GROUP BY `Business_Unit` 
) 
DIV 
(
    SELECT `Business_Unit`, 
    COUNT(`Joining_Month`) AS B 
    FROM `jl` 
    WHERE `Final_Status` = 'Joined' 
    AND `Hiring_Catg` IN ('Lateral','Contract Conversion') 
    GROUP BY `Business_Unit` 
) ; 
+0

どうなりますか?このコードを実行しますか?それはプレースホルダですか? – chris85

+0

MYSQLデータベースを使用しています – Patil

+0

ビジネスユニットに参加してカウントを分割する必要がありますか?サンプルデータを使用して、クエリと期待される結果の両方からサンプルデータを追加します。異なる値と同じ値の複数のbusiness_Unitを含めるようにしてください。最初のクエリには2番目のクエリではなく、その逆も含めてください。 – xQbert

答えて

0

あなたが投稿したクエリは行き詰まりです。その方向に働くことはできません。

条件Source_wise = 'Referral'に合格した行数と各グループの合計行数を数えて、その比率を計算しようとします。

SELECT `Business_Unit`, 
    SUM(IF(`Source_wise` = 'Referral', 1, 0)) AS ref 
    COUNT(`Joining_Month`) AS total 
FROM `jl` 
WHERE `Final_Status` = 'Joined' 
    AND `Hiring_Catg` IN ('Lateral','Contract Conversion') 
GROUP BY `Business_Unit` 

あなたはクライアントコードの行ごとにref/totalを計算する必要があります。

クエリは、このようなものです。または、上記のクエリを変更して直接計算することもできます。