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

SQL实现往返航班新增反向行统计各航线航班数量的方法

解决方案

你需要的行程拆分效果可以通过UNION ALL拼接两部分查询结果实现,通用SQL写法如下:

-- 替换flights为你的实际表名
SELECT source_id, destination_id, date, trip_type
FROM flights
UNION ALL
SELECT 
  destination_id AS source_id,
  source_id AS destination_id,
  date,
  trip_type
FROM flights
WHERE LOWER(trip_type) = 'roundtrip';

逻辑说明

  • 第一段查询直接读取原表的所有原始记录,保留所有单程行程、往返行程的去程记录
  • 第二段查询仅筛选往返行程,将source_id和destination_id的取值互换,生成对应返程记录
  • 用LOWER()处理trip_type是为了兼容字段值大小写不一致的情况,避免漏匹配
  • UNION ALL直接拼接两段结果,不会执行额外去重操作,符合你的需求

航线统计简化方案

如果你不需要生成中间转换表,可以直接一步完成航线数量统计:

-- 替换flights为你的实际表名
SELECT 
  CONCAT(source_id, '-', destination_id) AS route,
  COUNT(*) AS total_trips
FROM (
  SELECT source_id, destination_id FROM flights
  UNION ALL
  SELECT 
    destination_id AS source_id,
    source_id AS destination_id
  FROM flights
  WHERE LOWER(trip_type) = 'roundtrip'
) AS all_trips
GROUP BY route;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 13:18:03