[英]How to select last quarter / last 2 months of data in Amazon Redshift query
我知道這是一個簡單的問題,但我剛剛開始探索 Redshift,還無法用谷歌搜索答案。
在 MSSQL 服務器中,我使用以下 WHERE CLAUSE:
上個季度:
WHERE DateTime>= DATEADD(qq,DATEDIFF(qq,0,GETDATE())-1,0) AND DateTime < DATEADD(qq,DATEDIFF(qq,0,GETDATE())-0,0)
最近 2 個月
WHERE DateTime>= DATEADD(mm,DATEDIFF(mm,0,GETDATE())-2,0) AND DateTime < DATEADD(mm,DATEDIFF(mm,0,GETDATE())-0,0)
在本季度的 Redshift 中,我得出以下結論:
WHERE DateTime>= dateadd(qtr,datediff(qtr,'1970-01-01',current_date)-1,'1970-01-01') AND
DateTime < dateadd(qtr,datediff(qtr,'1970-01-01',current_date)-0,'1970-01-01')
在過去的 2 個月里,它看起來像:
WHERE DateTime>= dateadd(month,datediff(month,'1970-01-01',current_date)-2,'1970-01-01') AND
DateTime < dateadd(month,datediff(month,'1970-01-01',current_date)-0,'1970-01-01')
所以,我必須使用 unix 紀元值而不是 0。有沒有更好的方法來設置它?
非常感謝你!
在 Redshift 中,我會使用date_trunc()
和區間算法。
上個季度:
where datetime >= date_trunc('quarter', current_date) - interval '1 quarter'
and datetime < date_trunc('quarter', current_date)
最近兩個月:
where datetime >= date_trunc('month', current_date) - interval '2 month'
and datetime < date_trunc('month', current_date)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.