在Oracle中,沒有SUMIF函數(shù),但可以使用CASE語句和SUM函數(shù)實現(xiàn)類似的功能
SELECT SUM(CASE WHEN condition THEN column_name ELSE 0 END) as sumif
FROM table_name;
這里的condition
是你要判斷的條件,column_name
是你要求和的列名,table_name
是你要查詢的表名。
例如,假設我們有一個名為employees的表,其中包含salary(工資)和department_id(部門ID)列。如果我們想計算部門ID為10的所有員工的工資總和,可以使用以下查詢:
SELECT SUM(CASE WHEN department_id = 10 THEN salary ELSE 0 END) as sumif
FROM employees;
如果你需要處理空值,可以在CASE語句中添加相應的條件。例如,如果你想計算部門ID為10且工資不為空的員工的工資總和,可以使用以下查詢:
SELECT SUM(CASE WHEN department_id = 10 AND salary IS NOT NULL THEN salary ELSE 0 END) as sumif
FROM employees;
這將會返回一個名為sumif的結果,它是符合條件的工資總和。