2016-12-05 210 views
0

全部請幫助查詢。 我需要通過用戶和部門的每個行中的缺失值和空值百分比來查詢用戶信息的幾個表。 員工需要將此信息註冊到系統。基本上我們需要報告員工向系統提供的缺失值。例如, ;查詢結果在Oracle SQL中查找每行中空值的百分比

COL_1 |COL_2 |COL_3 |COL_4 |count % d% 
----------------------------- ------------ 
user1 | dept1 | NULL | X |1  50  
user2 | dept2 | NULL | NULL |2  100 
user3 | dept1 | X | X |0  0 
user4 | dept2 | NULL | X |1  50 

感激,如果你能幫助我與此查詢。謝謝。

+0

所以COL_1到col_4是當前表中的數據,而現在要計算這兩個最右邊的列? – jarlh

+0

感謝jarlh,以及col_1到col_4是來自多個表格的查詢結果。我需要計算最右邊的列。謝謝。 –

+0

請從源表中獲取一些示例數據以及您需要獲取的樣本數據結果。 – Kacper

回答

0
SELECT t.*, 
     NVL2(COL_3, 0, 1) + NVL2(COL_4, 0, 1) AS "Count %", 
     NVL2(COL_3, 0, 50) + NVL2(COL_4, 0, 50) AS "d%" 
FROM table_name t 
+0

您好MTO,您能否在Oracle中提供此查詢?謝謝 –

+0

@FelixZ這是一個Oracle查詢。 – MT0

0
SELECT a.col_1 
     , a.col_2 
     , COUNT (*) "count" 
     , SUM (CASE WHEN a.col_3 IS NULL THEN 1 ELSE 0 END)/COUNT (*) * 100 "d%" 
    FROM table1 a 
GROUP BY col_1, col_2;