Mycha
Mycha

Reputation: 143

Query count the sum of the rows(last 30 days)

I have this table p_payments. The table has the columns payment_amount, payment_status and createdtime:

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

How can I create a query that will count the sum of the last 30 days of revenues WHERE payment_status = completed?

My table

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

Upvotes: 0

Views: 1028

Answers (2)

Hayden
Hayden

Reputation: 2112

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

Upvotes: 1

JamieA
JamieA

Reputation: 2013

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

Upvotes: 3

Related Questions