在Oracle中,沒有SUMIF這個函數(shù),但是可以使用CASE語句結(jié)合SUM函數(shù)實(shí)現(xiàn)類似的功能
SELECT SUM(CASE
WHEN condition1 THEN column_to_sum
WHEN condition2 THEN column_to_sum
ELSE 0
END) as sum_result
FROM your_table;
請將condition1
和condition2
替換為你需要的條件,將column_to_sum
替換為你需要求和的列名,將your_table
替換為你的表名。
例如,假設(shè)我們有一個銷售表(sales_table),包含客戶ID(customer_id)、銷售額(sales_amount)和銷售日期(sale_date)。我們想要計(jì)算特定客戶(例如,customer_id = 1)在特定日期范圍內(nèi)(例如,2021年1月1日至2021年12月31日)的銷售額。可以使用以下查詢:
SELECT SUM(CASE
WHEN customer_id = 1 AND sale_date BETWEEN '2021-01-01' AND '2021-12-31' THEN sales_amount
ELSE 0
END) as total_sales
FROM sales_table;
這將返回一個名為total_sales的列,其中包含符合條件的銷售額之和。