Mysql 查询计数行的总和(过去30天)

Mysql 查询计数行的总和(过去30天),mysql,sql,Mysql,Sql,我有这个表p\u payments。该表包含列payment\u amount、payment\u status和createdtime: p_payments ____________________________ payment_status varchar(25) payment_amount decimal(7,2) createdtime datetime 我如何创建一个查询来计算过去30天的收入总和,其中付款状态=已完成 我的桌子 paymen

我有这个表
p\u payments
。该表包含列
payment\u amount
payment\u status
createdtime

p_payments
____________________________
payment_status      varchar(25)
payment_amount      decimal(7,2)
createdtime         datetime
我如何创建一个查询来计算过去30天的收入总和,其中付款状态=已完成

我的桌子

payments_status     payment_amount     createdtime
----------------------------------------------------------
Completed               1.00           2013-09-29 21:45:02
Denied                  2.00
Failed                  1.50
... etc
选择SUM(p.'payment\u amount')作为'total\u payments'`
从'payments`p
其中DATEDIFF(NOW(),p.createdtime)
选择SUM(p.'payment\u amount')作为'total\u payments'`
从'payments`p

其中DATEDIFF(NOW(),p.createdtime)计数日期是从实际日期开始的?计数日期是从实际日期开始的?使用
date\u SUB
function:)比使用-30更优雅(使用
date\u SUB
function:)比使用-30更优雅
SELECT Sum(payment_amount) 
FROM   p_payments 
WHERE  payments_status = 'completed' 
       AND createdtime >= Date_Sub(Curdate(), INTERVAL 30 day) 
SELECT SUM( p.`payment_amount` ) AS `total_payments`
FROM `payments` p
WHERE DATEDIFF(NOW(), p.createdtime) <= 30
  AND p.payment_status = 'Completed'