【发布时间】:2019-09-12 23:35:07
【问题描述】:
我有如下查询,
SELECT DISTINCT table_1.id,
table_1.time_utc
table_1.city_uuid,
cast(table_2.score_rate as decimal(5,3)) as score_rate
FROM integrated_delivery.trip_table_1_fact table_1,
integrated_product.driver_score_v2 table_2
WHERE table_1.id = table_2.id
AND table_1.city_uuid = table_2.city_id
AND table_1.day = date '2019-04-01'
AND table_2.extract_dt = 20190331
AND EXISTS
(SELECT NULL
FROM table_3
WHERE table_1.id = table_3.id
AND table_1.time_utc >= table_3.start_time_utc
AND table_1.time_utc <= table_3.end_time_utc)
我想更改此查询,它以 30 分钟的间隔返回 table_1.offer_time_utc。
Table_1 看起来像示例行
id time_utc
b7-19b36a410ab0 2019-04-16 22:00:09.415
53-9127667e288e 2019-04-17 01:06:16.590
6b-a96c3ea196c4 2019-04-16 22:00:09.908
Table_3 看起来像
id start_time_utc end_time_utc
35-e512d080e5d3 2019-01-29 02:00:00.000 2019-01-29 03:30:00.000
94-07e7036c1e4b 2019-01-29 01:30:00.000 2019-01-29 02:30:00.000
7d-20736d277064 2019-01-29 01:00:00.000 2019-01-29 03:30:00.000
我想在哪里调整上述查询,以便它以 30 分钟的间隔提取所有记录或行,并且还有一个表示该间隔的列?
有点像
interval
-------------------
2010-11-16 10:30:00
2010-11-16 10:35:00
2010-11-16 10:40:00
2010-11-16 10:45:00
2010-11-16 10:50:00
2010-11-16 10:55:00
预期的输出基本上是我在 table_1 样本中已经拥有的,但间隔如下:
Id Interval ( time_utc)
b7-19b36a410ab0 2010-11-16 10:30:00
53-9127667e288e 2010-11-16 11:00:00
6b-a96c3ea196c4 2010-11-16 11:30:00
谢谢!
【问题讨论】:
-
请向我们展示您的完整预期结果。谢谢。
-
当然!刚刚添加了所需的示例输出! @âńōŋŷXmoůŜ
-
您正在查询哪个数据库?您同时标记了 Presto 和 Postgres。对于 Presto——见stackoverflow.com/a/47741138/65458
标签: sql timestamp data-analysis presto