2016-06-21 180 views
3

我最近開始使用SQL並有一個問題。如何將2個SQL查詢合併爲一個結果?

我的第一個查詢輸出所有產品

SELECT 
    COUNT(*) 
FROM 
    products; 

我的第二個查詢輸出脫銷產品的

SELECT 
    COUNT(*) 
FROM 
    products 
WHERE 
    qty = 0; 

我想計算缺貨什麼樣的產品的比例。

爲了這個我用這個公式:

百分比= out_of_stock_products * 100/ALL_PRODUCTS

我這個嘗試過,但是這並不工作

SELECT 
    (
    SELECT 
    COUNT(*) 
    FROM 
    products 
    WHERE 
    qty = 0; 
) * 100/COUNT(*) 
FROM 
    products; 
+0

的MySQL或Oracle?不要標記不涉及的產品。 – jarlh

+0

@jarlh我使用Oracle SQL Developer – minz

回答

4

試試這個:

SELECT COUNT(CASE WHEN qty = 0 THEN 1 END) * 100.0/COUNT(*) 
FROM products 

以上查詢使用條件彙總以計算缺貨產品的數量。

+0

感謝您的回答,但這對我無效。對不起,我不好,我標記的MySQL,但我使用oracle – minz

+0

哦,謝謝你的作品。 – minz

0

試試這個;)

SELECT 
    SUM(IF(qty = 0, 1, 0)) * 100/SUM(1) AS per 
FROM 
    products; 
0
SELECT SUM(CASE WHEN qty = 0 THEN 1 ELSE 0 END) * 100.0/COUNT(*) as percent 
FROM products;