NTSB investigations
2,085 cases where the phase of flight was Standing.
Cases, newest first
Query with SQL
duckdb -csv -c "WITH phase_names(main, name) AS (VALUES (100, 'Prior to flight'), (150, 'Standing'), (200, 'Pushback/towing'), (250, 'Taxi'), (300, 'Takeoff'), (350, 'Initial climb'), (400, 'Enroute'), (450, 'Maneuvering'), (500, 'Approach'), (550, 'Landing'), (600, 'Emergency descent'), (650, 'Uncontrolled descent'), (700, 'Post-impact'), (750, 'After landing'), (800, 'Other'), (990, 'Unknown')),
crosswalk(code, main, name) AS (VALUES (500, 150, 'Standing'), (501, 150, 'Standing - pre-flight'), (502, 150, 'Standing - starting engine(s)'), (503, 150, 'Standing - engine(s) operating'), (504, 150, 'Standing - engine(s) not operating'), (505, 150, 'Standing - idling rotors'), (510, 250, 'Taxi'), (511, 200, 'Taxi - pushback/tow'), (512, 250, 'Taxi - to takeoff'), (513, 250, 'Taxi - from landing'), (514, 250, 'Taxi - aerial'), (520, 300, 'Takeoff'), (521, 300, 'Takeoff - roll/run'), (522, 350, 'Takeoff - initial climb'), (523, 300, 'Takeoff - aborted'), (530, 400, 'Climb'), (531, 400, 'Climb - to cruise'), (540, 400, 'Cruise'), (541, 400, 'Cruise - normal'), (542, 400, 'Maneuvering - holding (IFR)'), (550, 400, 'Descent'), (551, 400, 'Descent - normal'), (552, 600, 'Descent - emergency'), (553, 650, 'Descent - uncontrolled'), (560, 500, 'Approach'), (561, 500, 'Approach - VFR pattern - downwind'), (562, 500, 'Approach - VFR pattern - base turn'), (563, 500, 'Approach - VFR pattern - base leg/base to final'), (564, 500, 'Approach - VFR pattern - final approach'), (565, 500, 'Go-around (VFR)'), (566, 500, 'Approach - IAF to FAF/outer marker (IFR)'), (567, 500, 'Approach - FAF/outer marker to threshold (IFR)'), (568, 500, 'Circling (IFR)'), (569, 500, 'Missed approach (IFR)'), (570, 550, 'Landing'), (571, 550, 'Landing - flare/touchdown'), (572, 550, 'Landing - roll'), (573, 550, 'Landing - aborted'), (574, 550, 'Emergency landing'), (575, 550, 'Emergency landing after takeoff'), (576, 600, 'Emergency descent/landing'), (580, 450, 'Maneuvering'), (581, 450, 'Maneuvering - aerial application'), (582, 450, 'Maneuvering - turn to reverse direction'), (583, 450, 'Maneuvering - turn to landing area (emergency)'), (590, 450, 'Hover'), (591, 450, 'Hover - in ground effect'), (592, 450, 'Hover - out of ground effect'), (600, 800, 'Other'), (610, 990, 'Unknown')),
current_codes AS (
SELECT e.case_mkey, TRY_CAST(e.\"tier1Number\" AS INTEGER) AS code,
row_number() OVER (PARTITION BY e.case_mkey ORDER BY coalesce(e.\"isDefiningEvent\", false) DESC, e.position) AS n
FROM 'https://openairdocs.org/data/latest/ntsb_events.parquet' e
WHERE e.aircrafts_position = 1 AND e.\"tier1Number\" GLOB '[1-9][0-9]*'
AND (e.\"isDefiningEvent\" OR e.case_mkey IN (SELECT \"mKey\" FROM 'https://openairdocs.org/data/latest/ntsb_case_detail.parquet' WHERE \"isPre1982\"))
),
phases AS (
SELECT case_mkey, 'current' AS scheme, code, CASE WHEN code >= 990 THEN 990 ELSE code // 50 * 50 END AS main
FROM current_codes WHERE n = 1
UNION ALL
SELECT o.case_mkey, 'older', o.\"phaseOfFlightCode\", w.main
FROM 'https://openairdocs.org/data/latest/ntsb_occurrences.parquet' o JOIN crosswalk w ON w.code = o.\"phaseOfFlightCode\"
WHERE o.aircrafts_position = 1 AND o.\"occurrenceNumber\" = 1 AND o.case_mkey NOT IN (SELECT case_mkey FROM current_codes)
),
case_phases AS (
SELECT p.*, c.\"eventDate\", c.\"highestInjuryLevel\" = 'Fatal' AS fatal, a.aircraft_model_code
FROM phases p JOIN 'https://openairdocs.org/data/latest/ntsb_case_detail.parquet' c ON c.\"mKey\" = p.case_mkey
LEFT JOIN 'https://openairdocs.org/data/latest/ntsb_aircrafts.parquet' a ON a.case_mkey = p.case_mkey AND a.position = 1
WHERE c.\"eventDate\" >= DATE '1962-01-01' AND p.main IN (SELECT main FROM phase_names)
)
SELECT c.\"ntsbNumber\", c.\"eventDate\", c.\"eventType\", c.\"eventCity\", c.\"eventStateOrRegion\", a.n_number, a.\"aircraftMake\", a.\"aircraftModel\", c.\"highestInjuryLevel\", c.\"totalFatal\", c.\"completionStatus\", c.report_url
FROM 'https://openairdocs.org/data/latest/ntsb_case_detail.parquet' c LEFT JOIN 'https://openairdocs.org/data/latest/ntsb_aircrafts.parquet' a ON a.case_mkey = c.\"mKey\" AND a.position = 1
WHERE c.\"mKey\" IN (SELECT case_mkey FROM case_phases WHERE main = 150)
ORDER BY c.\"eventDate\" DESC, c.\"ntsbNumber\" DESC"Prints the whole list as CSV. It reads the release’s Parquet files over HTTPS, so there’s nothing to download first. Install DuckDB to run it.
WITH phase_names(main, name) AS (VALUES (100, 'Prior to flight'), (150, 'Standing'), (200, 'Pushback/towing'), (250, 'Taxi'), (300, 'Takeoff'), (350, 'Initial climb'), (400, 'Enroute'), (450, 'Maneuvering'), (500, 'Approach'), (550, 'Landing'), (600, 'Emergency descent'), (650, 'Uncontrolled descent'), (700, 'Post-impact'), (750, 'After landing'), (800, 'Other'), (990, 'Unknown')),
crosswalk(code, main, name) AS (VALUES (500, 150, 'Standing'), (501, 150, 'Standing - pre-flight'), (502, 150, 'Standing - starting engine(s)'), (503, 150, 'Standing - engine(s) operating'), (504, 150, 'Standing - engine(s) not operating'), (505, 150, 'Standing - idling rotors'), (510, 250, 'Taxi'), (511, 200, 'Taxi - pushback/tow'), (512, 250, 'Taxi - to takeoff'), (513, 250, 'Taxi - from landing'), (514, 250, 'Taxi - aerial'), (520, 300, 'Takeoff'), (521, 300, 'Takeoff - roll/run'), (522, 350, 'Takeoff - initial climb'), (523, 300, 'Takeoff - aborted'), (530, 400, 'Climb'), (531, 400, 'Climb - to cruise'), (540, 400, 'Cruise'), (541, 400, 'Cruise - normal'), (542, 400, 'Maneuvering - holding (IFR)'), (550, 400, 'Descent'), (551, 400, 'Descent - normal'), (552, 600, 'Descent - emergency'), (553, 650, 'Descent - uncontrolled'), (560, 500, 'Approach'), (561, 500, 'Approach - VFR pattern - downwind'), (562, 500, 'Approach - VFR pattern - base turn'), (563, 500, 'Approach - VFR pattern - base leg/base to final'), (564, 500, 'Approach - VFR pattern - final approach'), (565, 500, 'Go-around (VFR)'), (566, 500, 'Approach - IAF to FAF/outer marker (IFR)'), (567, 500, 'Approach - FAF/outer marker to threshold (IFR)'), (568, 500, 'Circling (IFR)'), (569, 500, 'Missed approach (IFR)'), (570, 550, 'Landing'), (571, 550, 'Landing - flare/touchdown'), (572, 550, 'Landing - roll'), (573, 550, 'Landing - aborted'), (574, 550, 'Emergency landing'), (575, 550, 'Emergency landing after takeoff'), (576, 600, 'Emergency descent/landing'), (580, 450, 'Maneuvering'), (581, 450, 'Maneuvering - aerial application'), (582, 450, 'Maneuvering - turn to reverse direction'), (583, 450, 'Maneuvering - turn to landing area (emergency)'), (590, 450, 'Hover'), (591, 450, 'Hover - in ground effect'), (592, 450, 'Hover - out of ground effect'), (600, 800, 'Other'), (610, 990, 'Unknown')),
current_codes AS (
SELECT e.case_mkey, TRY_CAST(e."tier1Number" AS INTEGER) AS code,
row_number() OVER (PARTITION BY e.case_mkey ORDER BY coalesce(e."isDefiningEvent", false) DESC, e.position) AS n
FROM 'https://openairdocs.org/data/latest/ntsb_events.parquet' e
WHERE e.aircrafts_position = 1 AND e."tier1Number" GLOB '[1-9][0-9]*'
AND (e."isDefiningEvent" OR e.case_mkey IN (SELECT "mKey" FROM 'https://openairdocs.org/data/latest/ntsb_case_detail.parquet' WHERE "isPre1982"))
),
phases AS (
SELECT case_mkey, 'current' AS scheme, code, CASE WHEN code >= 990 THEN 990 ELSE code // 50 * 50 END AS main
FROM current_codes WHERE n = 1
UNION ALL
SELECT o.case_mkey, 'older', o."phaseOfFlightCode", w.main
FROM 'https://openairdocs.org/data/latest/ntsb_occurrences.parquet' o JOIN crosswalk w ON w.code = o."phaseOfFlightCode"
WHERE o.aircrafts_position = 1 AND o."occurrenceNumber" = 1 AND o.case_mkey NOT IN (SELECT case_mkey FROM current_codes)
),
case_phases AS (
SELECT p.*, c."eventDate", c."highestInjuryLevel" = 'Fatal' AS fatal, a.aircraft_model_code
FROM phases p JOIN 'https://openairdocs.org/data/latest/ntsb_case_detail.parquet' c ON c."mKey" = p.case_mkey
LEFT JOIN 'https://openairdocs.org/data/latest/ntsb_aircrafts.parquet' a ON a.case_mkey = p.case_mkey AND a.position = 1
WHERE c."eventDate" >= DATE '1962-01-01' AND p.main IN (SELECT main FROM phase_names)
)
SELECT c."ntsbNumber", c."eventDate", c."eventType", c."eventCity", c."eventStateOrRegion", a.n_number, a."aircraftMake", a."aircraftModel", c."highestInjuryLevel", c."totalFatal", c."completionStatus", c.report_url
FROM 'https://openairdocs.org/data/latest/ntsb_case_detail.parquet' c LEFT JOIN 'https://openairdocs.org/data/latest/ntsb_aircrafts.parquet' a ON a.case_mkey = c."mKey" AND a.position = 1
WHERE c."mKey" IN (SELECT case_mkey FROM case_phases WHERE main = 150)
ORDER BY c."eventDate" DESC, c."ntsbNumber" DESCRun it at the DuckDB prompt, or in any tool that reads Parquet over HTTPS. More ways to query the release are on Use the data.
NTSB DEN75FQA01Accident · No injuriesClosedCessna 150 · Albuquerque, NMNTSB CHI74FEE83Accident · No injuriesClosedCessna 172N · Rock Falls, ILNTSB OAK74FJA22Accident · No injuriesClosedHiller Acft UH-12E · Ewa Beach, HINTSB CHI74FEI39Accident · No injuriesClosedGrumman G-159 · Willoughby, OHNTSB NYC74DHM19Accident · Serious injuriesClosedCessna 182G · Fairfield, NJNTSB OAK74AP059Accident · Serious injuriesClosedBell 47G3B1 · Lone Pine, CANTSB DEN74DTE83Accident · Serious injuriesClosedCessna 172 · Pueblo, CONTSB NYC74FNE20Accident · No injuriesClosedEnstrom F-28A · East Putman, CTNTSB LAX74FUQ37Accident · No injuriesClosedCessna 310J · Van Nuys, CANTSB NYC74IN089IncidentClosedLockheed 1011 · East Boston, MANTSB LAX74DYA29Accident · Serious injuriesClosedPiper PA-28 · Twin Falls, IDNTSB SEA74FYE43Accident · Serious injuriesClosedHughes 269B · Seattle, WANTSB MIA75AM028Accident · No injuriesClosedBoeing 747 · San Juan, PRNTSB FTW74FPD41Accident · No injuriesClosedCessna 150 · Fort Worth, TXNTSB OAK74IP046IncidentClosedDouglas DC-8 · Travis Afb, CANTSB CHI74AC077Accident · 1 fatalClosedPiper PA-22 · Port Huron, MINTSB NYC74FHJ22Accident · No injuriesClosedPiper PA-18 · Brookhaven, NYNTSB NYC74FHM18Accident · No injuriesClosedAero Comdr 500S · Teterboro, NJNTSB MIA74DLA34Accident · No injuriesClosedChampion 7ECA · Satsuma, FLNTSB CHI74DEA31Accident · Serious injuriesClosedCessna 150 · Bloomington, INNTSB OAK74FJA17Accident · No injuriesClosedCessna 172 · Honolulu, HINTSB MIA74FKI51|MIA74FKT51Accident · No injuriesClosedAero Comdr 500 · Opa Locka, FLNTSB IAD74FKW24Accident · Serious injuriesClosedHiller Acft FH1100 · Knoxville, TNNTSB MIA74AM065Accident · Serious injuriesClosedBritish AC 1-11 · Miami, FLNTSB SEA74FYC35Accident · No injuriesClosedPiper PA-28 · Vancouver, WANTSB IAD74AI038Accident · No injuriesClosedCessna 177 · Parkersburg, WVNTSB SEA74DYC32Accident · No injuriesClosedCessna 182 · Portland, ORNTSB FTW74FRG46Accident · No injuriesClosedCessna 401 · San Antonio, TXNTSB FTW74FPM16Accident · No injuriesClosedCessna 150K · Sand Springs, OKNTSB CHI74AC066Accident · Serious injuriesClosedBoeing 727 · Detroit, MINTSB UNK74X0101Incident · 31 fatalClosedBoeing 707 · Rome, ItalyNTSB FTW74DRD21Accident · Serious injuriesClosedBell 47G-4A · Gulf Of Mexico (Gulf of Mexico)NTSB OAK74DVM14Accident · No injuriesClosedRyan PT-22 · Morgan Hill, CANTSB FTW74FRD19Accident · No injuriesClosedBell 212 · Ehib 370 Gulf Mex (Gulf of Mexico)NTSB LAX74DUG26Accident · No injuriesClosedCessna TU206C · Perris, CANTSB LAX74FUA13Accident · No injuriesClosedBeech B35 · Long Beach, CANTSB OAK73IP020Incident · No injuriesClosedSikorsky S-61N · Oakland, CANTSB CHI74DEG12Accident · Serious injuriesClosedBeech V35B · Vandalia, OHNTSB SEA74IS020Incident · Minor injuriesClosedDouglas DC-8 · Spokane, WANTSB ANC74AA036Accident · 1 fatalClosedPiper PA-18 · King Salmon, AKNTSB CHI74FEE23Accident · No injuriesClosedCessna 310J · West Chicago, ILNTSB MKC74DER15Accident · No injuriesClosedBellanca 17-30A · Lake Elmo, MNNTSB CHI74FEM20Accident · Serious injuriesClosedCessna 175 · Kalamazoo, MINTSB LAX74FUA06Accident · 1 fatalClosedCessna 310B · Torrance, CANTSB CHI74FEI07Accident · Serious injuriesClosedAmer Avco AA1-B · Painsville, OHNTSB LAX74FUD01Accident · No injuriesClosedPiper PA-28 · Snta Monica, CANTSB OAK74FVW02Accident · No injuriesClosedCessna 206 · Las Vegas, NVNTSB ANC74FAG02Accident · No injuriesClosedHiller Acft FH1100 · Anchorage, AKNTSB OAK73DVW23Accident · No injuriesClosedCessna 305A · Las Vegas, NVNTSB FTW73FRG89Accident · No injuriesClosedCessna 170 · New Braunfels, TX