gpt4 book ai didi

sql - PrestoDB : select all dates between two dates

转载 作者:行者123 更新时间:2023-12-03 15:45:37 29 4
gpt4 key购买 nike

我需要形成一个报告,在日期间隔内为每个日期提供一些信息。

我需要在单个查询中使用它(不能创建任何函数或支持表)。

我怎样才能在 PrestoDB 中实现这一点?

注:有很多供应商特定的解决方案 here , here甚至 here .但是它们都不能满足我的需要,因为它们要么不能在 Presto 中工作,要么不能使用表/函数。

更准确地说,这里是一个查询示例:

WITH ( query to select all dates between 2017.01.01 and 2018.01.01 ) AS dates
SELECT
date date,
count(*) number_of_orders
FROM dates dates
LEFT JOIN order order
ON order.created_at = dates.date

最佳答案

您可以使用 Presto SEQUENCE() 函数将天数序列生成为数组,然后使用 UNNEST 将该数组分解为结果集。
这样的事情应该适合你:

SELECT date_array AS DAY
FROM UNNEST(
SEQUENCE(
cast('2017-01-01' AS date),
cast('2018-01-01' AS date),
INTERVAL '1' DAY
)
) AS t1(date_array)

关于sql - PrestoDB : select all dates between two dates,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51401047/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com