[英]SQL query to get records of before last 30 days( Not last 30 days )
我想找到我最近 30 天的值與前 30 天的值的不同百分比。 我已經得到了過去 30 天價值的總和。 我如何獲得過去 30 天的總和?
這是選擇過去 30 天總和的查詢。
SELECT SUM(paymentAmount) as usd30day
FROM `tbl_pi_payment`
WHERE currencyCode = 'USD' and renewalDate >= NOW() - INTERVAL 30 DAY
示例:今天是 10 月 25 日。 我有 10 月 25 日至 9 月 26 日的總和。現在我需要 9 月 26 日至 8 月 25 日的總和
你可以試試下面 -
SELECT SUM(case when renewalDate >= NOW() - INTERVAL 30 DAY paymentAmount else 0 end) as usd30day ,
SUM(case when renewalDate >= NOW() - INTERVAL 60 DAY and renewalDate < NOW() - INTERVAL 30 DAY paymentAmount else 0 end) as usd60day
FROM tbl_pi_payment
WHERE currencyCode = 'USD'
根據renewalDate
獲取以前的交易
select sum(case when renewalDate >= NOW() - INTERVAL 30 DAY then paymentAmount else 0 end) as usd30day
, sum(case when datediff(now() - renewalDate) <= 30 then paymentAmount else 0 end) as usd30prevday
from tbl_pi_payment
where
currencyCode = 'USD'
SELECT datediff(NOW(), renewalDate) % 30 as every30day, SUM(paymentAmount) as usd30day
FROM `tbl_pi_payment`
WHERE currencyCode = 'USD'
GROUP BY datediff(NOW(), renewalDate) % 30
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.