[英]Timerange Table SQL Presto
I need to use a temporary timerange table for my SQL query in treasure data presto: 我需要在宝藏数据中使用临时时间范围表来查询我的SQL查询:
CREATE TEMPORARY TABLE fakehours (Hour BIGINT);
INSERT INTO Hour VALUES (0);
INSERT INTO Hour VALUES (1);
INSERT INTO Hour VALUES (2);
INSERT INTO Hour VALUES (3);
INSERT INTO Hour VALUES (4);
INSERT INTO Hour VALUES (5);
INSERT INTO Hour VALUES (6);
INSERT INTO Hour VALUES (7);
INSERT INTO Hour VALUES (8);
INSERT INTO Hour VALUES (9);
INSERT INTO Hour VALUES (10);
INSERT INTO Hour VALUES (11);
INSERT INTO Hour VALUES (12);
INSERT INTO Hour VALUES (13);
INSERT INTO Hour VALUES (14);
INSERT INTO Hour VALUES (15);
INSERT INTO Hour VALUES (16);
INSERT INTO Hour VALUES (17);
INSERT INTO Hour VALUES (18);
INSERT INTO Hour VALUES (19);
INSERT INTO Hour VALUES (20);
INSERT INTO Hour VALUES (21);
INSERT INTO Hour VALUES (22);
INSERT INTO Hour VALUES (23);
What can I do in Presto like this? 我能在Presto这样做什么?
Pro tipp, you might even be able to get away without a temporary table using the WITH
syntax. Pro tipp,您甚至可以使用
WITH
语法在没有临时表的情况下离开。 And then in the following SELECT
statement you can use hours
as if it were a table. 然后在下面的
SELECT
语句中,您可以使用hours
,就好像它是一个表。
WITH hours AS (SELECT * FROM UNNEST(ARRAY[0,1, ... 22,23]) AS t (hour))
SELECT
*
FROM
hours
;
I would do this: 我会这样做:
CREATE TABLE fakehours AS
WITH hours AS (
SELECT * FROM UNNEST(SEQUENCE(0,23,1)) AS t (hour)
)
SELECT *
FROM hours
;
Depending on your Presto version try: 根据您的Presto版本,尝试:
SELECT * FROM UNNEST(SEQUENCE(0,23))
or 要么
SELECT * FROM UNNEST(ARRAY[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23])
Should achieve what you want in a join, short of having temp tables available in Presto. 应该在连接中实现您想要的功能,而不是在Presto中提供临时表。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.