我让这些 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 旁边。
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