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

航空数据库SQL查询:如何编写查询各机场出发最早航班详情的语句?

航班表查询解决方案

前提说明

  • 航班表表名默认为 flights
  • departure 字段为DateTime类型,存储航班实际起飞时间
  • airport_name 字段对应出发机场的官方名称
  • 若同机场存在多个完全相同最早起飞时间的航班,两种写法都会全部返回,符合业务查询要求

支持窗口函数的数据库通用写法(适配MySQL 8.0+/PostgreSQL/SQL Server/Oracle)

性能更优、逻辑可读性更强,是当前主流写法:

WITH ranked_flights AS (
    SELECT 
        *,
        ROW_NUMBER() OVER (PARTITION BY airport_name ORDER BY departure ASC) AS rn
    FROM flights
)
SELECT flight_id, flight_no, departure, arrival, airport_name
FROM ranked_flights
WHERE rn = 1;

如果需要保留同机场同最早起飞时间的所有航班,把上述代码中的ROW_NUMBER()替换为RANK()即可。

低版本数据库兼容写法(适配MySQL 5.x等不支持窗口函数的环境)

SELECT f.*
FROM flights f
INNER JOIN (
    SELECT airport_name, MIN(departure) AS earliest_departure
    FROM flights
    GROUP BY airport_name
) t ON f.airport_name = t.airport_name AND f.departure = t.earliest_departure;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 00:09:04