簡體   English   中英

SQL 查詢獲取過去 30 天之前的記錄(不是過去 30 天)

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM