You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Athena(Presto)中合并两条SQL查询语句?

合并Athena(Presto)两条SQL查询的方案

可以将两条查询合并,核心思路是先计算出每个target_port_list对应的diff值,再将其与第二条带条件的统计查询通过target_port_list关联,从而在每条统计结果旁展示对应的diff。

以下是合并后的SQL示例(使用CTE语法,可读性更强):

WITH port_time_diff AS (
    SELECT 
        target_port_list,
        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 
    stats.target_port_list,
    stats.elb_status_code,
    stats.cnt,
    port_time_diff.diff
FROM (
    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
) stats
JOIN port_time_diff ON stats.target_port_list = port_time_diff.target_port_list;

如果需要保留第一条查询中的min_date和max_date,只需在CTE的SELECT语句中添加这两个字段,再在最终的SELECT中选取即可。

内容的提问来源于stack exchange,提问作者shantanuo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 20:35:00