在 Athena 中合并 2 个 SQL 查询

问题描述 投票:0回答:1

我让这些 SQL 查询在 Athena 中按预期工作 (presto)

SELECT target_port_list ,
min(CAST(From_iso8601_timestamp(time) AS timestamp)) as "min_date",
max(CAST(From_iso8601_timestamp(time) AS timestamp)) as "max_date",
max(CAST(From_iso8601_timestamp(time) AS timestamp)) - min(CAST(From_iso8601_timestamp(time) AS timestamp)) as "diff" 
from alb_logs
group by target_port_list
_____

select target_port_list, elb_status_code, count(*) as cnt 
from alb_logs
where request_url = 'https://register.yahoo.in:443/ABC/Registration/Account/Login'
group by target_port_list, elb_status_code

是否可以合并这两个查询? 我需要查询 1 中的 diff 列显示在第二个查询中每个 targe_port_list 旁边。

amazon-athena
1个回答
0
投票
select a1.target_port_list, a1.elb_status_code, a2.diff , count(*) as cnt 
from alb_logs  as a1 left join
(SELECT target_port_list ,
min(CAST(From_iso8601_timestamp(time) AS timestamp)) as "min_date",
max(CAST(From_iso8601_timestamp(time) AS timestamp)) as "max_date",
max(CAST(From_iso8601_timestamp(time) AS timestamp)) - min(CAST(From_iso8601_timestamp(time) AS timestamp)) as "diff" 
from alb_logs 
group by target_port_list) as a2 on a2.target_port_list = a1.target_port_list 
where a1.request_url = 'https://register.yahoo.in:443/ABC/Registration/Account/Login'
group by a1.target_port_list, a1.elb_status_code, a2.diff

© www.soinside.com 2019 - 2024. All rights reserved.