我正在查詢的圈子中,並將非常感謝您的幫助,因爲我對此很感興趣。我使用postgre SQL版本:9.5.8選擇所選的2列是來自表格的1列,但條件不同
我想要做的事:
我想在整個銷售工作出部分銷售額的百分比。
我徹底搞亂了的部分是最後的選擇,在這裏我從表中「買賣」選擇同一列COUNT(sale_id)的兩倍,但通過2種不同的條件下通過COUNT(sale_id)(一用一'WHERE'和一個沒有)創建2個新列。我是否需要將它們作爲單獨的表格來加入?
理想的結果應該是一個百分比。
這是我(但我當然得到一堆錯誤):
SELECT ROUND(percentage_partial_sale, 1) as "percentage_partial"
FROM (
SELECT count_partial_sale/count_all_sales as percentage_partial_sale
FROM (
SELECT COUNT(sale_id) FROM sale WHERE sale.is_partial=true as "count_partial_sale",
COUNT(sale_id) FROM sale as "total_sellouts");
如果你能表達通俗地說的解決方案,將是有益的。隨意根據需要進行更改。
非常感謝您的幫助。
這是有效的,因爲默認情況下,當沒有條件滿足時,CASE表達式的值爲NULL,COUNT()聚合函數不計算NULL值。 –
@Bacon位:正確。感謝您添加此解釋。 –
謝謝@ThorstenKettner!現在我得到這個(這是更接近我想要的): '所有銷售的部分銷售比例 316 203 0' 似乎有在列3 快速的百分比計算一個小問題但計算結果顯示第1列和第2列的計數是正確的! @BaconBits,謝謝有用的解釋。 – ElNuni