我有几年的价格数据,我需要从中提取特定日期的数据:一年前,一个季度前,一个月前,两周前。我使用ApacheImpalaSQL
我尝试使用with语句来创建筛选日的子集。因为一年前的日期可能是周末或假日,所以我从(-370-365天前)
WITH yearpast AS (
SELECT max(quote_date_time) as yearago
FROM quotes_raw
WHERE quote_date_time >= adddate(now(), -370) and quote_date_time <= adddate(now(), -365)),
monthpast AS (
SELECT max(quote_date_time) as monthago
FROM quotes_raw
WHERE quote_date_time >= adddate(now(), -33) and quote_date_time <= adddate(now(), -30)
)
SELECT close_px FROM quotes_raw
WHERE quote_date_time IN (yearpast.yeargo, monthpast.monthago)
我希望select语句使用yearpast的quote\u date\u time作为过滤器,但是我得到了一个错误。
2条答案
按热度按时间vngu2lb81#
就用这个怎么样
order by
以及limit
?btqmn9zl2#
您需要咨询cte:
编辑: