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

基于配置表为航班数据集新增newoffsetdirection列的技术需求

航班数据集新增newoffsetdirection列的实现方案

数据集说明

  • 主数据集(航班详情)字段:frictionreportdatetime、offsetdistance、offsetdirection、chainage、measuringspeed、cofvalue
  • 配置表字段:runway、oppositeRunway,数据如下:
    runwayoppositeRunway
    927
    1432

处理逻辑

  1. 提取配置表首行的runway值(即9),从主数据集中筛选出offsetdirection = 9的记录块
  2. 对筛选后的记录,计算两个关键区间阈值:
    • 该数据块中chainage的最小值:min_chainage = MIN(chainage)
    • 该数据块中chainage最大值的一半:half_max_chainage = MAX(chainage) / 2
  3. 通过CASE语句生成newoffsetdirection列:
    • 当chainage处于[min_chainage, half_max_chainage]区间时,赋值为'Runway'
    • 当chainage处于[half_max_chainage, MAX(chainage)]区间时,赋值为'oppositeRunway'

示例SQL代码

WITH filtered_data AS (
    SELECT 
        *,
        MIN(chainage) OVER () AS min_chainage,
        MAX(chainage) OVER () AS max_chainage,
        MAX(chainage) OVER () / 2 AS half_max_chainage
    FROM 主数据集表名
    WHERE offsetdirection = (SELECT runway FROM 配置表表名 LIMIT 1) -- 取配置表首行的runway值9
)
SELECT 
    frictionreportdatetime,
    offsetdistance,
    offsetdirection,
    chainage,
    measuringspeed,
    cofvalue,
    CASE
        WHEN chainage BETWEEN min_chainage AND half_max_chainage THEN 'Runway'
        WHEN chainage BETWEEN half_max_chainage AND max_chainage THEN 'oppositeRunway'
    END AS newoffsetdirection
FROM filtered_data;

补充说明

  • 若需处理配置表中其他runway值(如14),只需调整WHERE子句中取配置表行的逻辑(比如去掉LIMIT 1,改为批量关联处理)
  • 若数据库不支持窗口函数,可改用子查询单独计算阈值后关联主数据

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 10:09:56