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

SQL查询求助:基于delayedFlights和airport表统计前5个州内航班延误高发州

解决同一州内跨机场延误航班统计问题

你的原始查询无效的核心原因是:delayedFlights表本身没有state字段,也未关联存储州信息的airport表,WHERE state = state的条件完全无法获取有效数据。

以下是正确的SQL查询语句及逻辑说明:

SELECT ap_orig.State AS state, COUNT(df.ID_of_Delayed_Flight) AS num_delays
FROM delayedFlights df
-- 关联出发机场对应的州信息
JOIN airport ap_orig ON df.Orig = ap_orig.airportCode
-- 关联到达机场对应的州信息
JOIN airport ap_dest ON df.Dest = ap_dest.airportCode
WHERE 
    -- 限定为同一州内的航班
    ap_orig.State = ap_dest.State
    -- 排除同一机场往返的无效数据
    AND df.Orig != df.Dest
    -- 筛选存在到达延误或出发延误的航班
    AND (df.ArrDelay > 0 OR df.DepDelay > 0)
GROUP BY ap_orig.State
ORDER BY num_delays DESC
LIMIT 5;

关键逻辑拆解:

  • 两次JOIN操作:分别通过航班的出发机场代码(Orig)和到达机场代码(Dest)关联airport表,获取航班对应的出发州与到达州。
  • 三重筛选条件:同时满足同一州内、不同机场间、存在到达/出发延误三个核心统计要求。
  • 分组排序:按州分组统计符合条件的延误航班数量,最后按数量降序取前5个州。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 08:40:34