2013-12-11 69 views
0

我有這張表p_payments。該表具有列payment_amountpayment_statuscreatedtime查詢計算行的總和(最近30天)

p_payments 
____________________________ 
payment_status  varchar(25) 
payment_amount  decimal(7,2) 
createdtime   datetime 

如何創建一個查詢,將計算的收入WHERE payment_status = completed的最近30天的總和?

我的表

payments_status  payment_amount  createdtime 
---------------------------------------------------------- 
Completed    1.00   2013-09-29 21:45:02 
Denied     2.00 
Failed     1.50 
... etc 
+0

計數日期與實際日期? –

回答

3
SELECT Sum(payment_amount) 
FROM p_payments 
WHERE payments_status = 'completed' 
     AND createdtime >= Date_Sub(Curdate(), INTERVAL 30 day) 
+0

使用'DATE_SUB'功能更優雅:)而不是-30 –

+0

+1進行更正:) –

1
SELECT SUM(p.`payment_amount`) AS `total_payments` 
FROM `payments` p 
WHERE DATEDIFF(NOW(), p.createdtime) <= 30 
    AND p.payment_status = 'Completed' 
+0

感謝您的幫助 – Dany

+0

爲我工作感謝 – humphrey