簡體   English   中英

如何在Amazon Redshift查詢select上個季度/最近2個月的數據

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

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