Каков самый продолжительный период последовательных ежедневных космических запусков?

Каково наибольшее количество дней, когда хотя бы один запуск космического корабля происходит каждый день?

Также каково в среднем наибольшее количество дней с запуском по крайней мере в день? Например, два запуска вчера и ни одного запуска сегодня, затем еще один запуск(и) и т. д. Другими словами: максимальное значение N при N запусках за N дней.

Связанные вопросы:

Ответы (1)

Самый продолжительный период последовательных ежедневных космических запусков

С 10 декабря 1977 г. по 16 декабря 1977 г. было произведено семь пусков подряд.

╔═════════════╦═════════════╦════════════╦═══════════════════╗
║ LAUNCH_DATE ║ FLIGHT_ID1  ║ FLIGHT_ID2 ║      MISSION      ║
╠═════════════╬═════════════╬════════════╬═══════════════════╣
║ 1977-12-10  ║ D 15000-093 ║ Soyuz-26   ║ Soyuz 7K-T No. 43 ║
║ 1977-12-11  ║ 5504A       ║ OPS 4258   ║ AQUACADE 3        ║
║ 1977-12-12  ║ 78018  -105 ║ Kosmos-966 ║ Zenit-2M          ║
║ 1977-12-13  ║ 53716-332   ║ Kosmos-967 ║ Lira              ║
║ 1977-12-14  ║ 78018  -305 ║ Meteor-2   ║ Meteor-2 No. 3    ║
║ 1977-12-15  ║ 624/D137    ║ CS         ║ CS                ║
║ 1977-12-16  ║ 53746-305   ║ Kosmos-968 ║ Strela-2M         ║
╚═════════════╩═════════════╩════════════╩═══════════════════╝

Самый длинный период запуска скользящего среднего >= 1

Есть семь девятидневных отрезков, в среднем один или несколько запусков в день.

╔═══════════════════╦══════════════════╗
║ FIRST_LAUNCH_DATE ║ LAST_LAUNCH_DATE ║
╠═══════════════════╬══════════════════╣
║ 1970-12-10        ║ 1970-12-18       ║
║ 1976-07-21        ║ 1976-07-29       ║
║ 1977-06-16        ║ 1977-06-24       ║
║ 1977-09-16        ║ 1977-09-24       ║
║ 1977-12-08        ║ 1977-12-16       ║
║ 1984-06-21        ║ 1984-06-29       ║
║ 1993-03-25        ║ 1993-04-02       ║
╚═══════════════════╩══════════════════╝

Например, вот данные за один из периодов:

╔═════════════╦═════════════╦═════════════╦═════════════════════════╗
║ LAUNCH_DATE ║ FLIGHT_ID1  ║ FLIGHT_ID2  ║         MISSION         ║
╠═════════════╬═════════════╬═════════════╬═════════════════════════╣
║ 1970-12-10  ║ Yu15002-031 ║ Kosmos-384  ║ Zenit-2M                ║
║ 1970-12-11  ║ 546/D81     ║ NOAA 1      ║ ITOS A                  ║
║ 1970-12-12  ║ No. 2       ║ Peole       ║ Peole                   ║
║ 1970-12-12  ║ S175C       ║ Explorer 42 ║ SAS A                   ║
║ 1970-12-12  ║ V149-39LM   ║ Kosmos-385  ║ Tsiklon                 ║
║ 1970-12-15  ║ Kh76002-051 ║ Kosmos-386  ║ Zenit-4M                ║
║ 1970-12-16  ║ V149-31LM   ║ Kosmos-387  ║ Tselina-OM              ║
║ 1970-12-18  ║ R 15000-006 ║ Kosmos-389  ║ Tselina-D No. Yu2250-01 ║
║ 1970-12-18  ║ Yu457-29    ║ Kosmos-388  ║ DS-P1-Yu No. 43         ║
╚═════════════╩═════════════╩═════════════╩═════════════════════════╝

Отказ от ответственности и запросы

Результаты взяты из базы данных SQL, построенной из базы данных ракет-носителей JSR, как описано здесь . Я предполагаю, что под «космическими запусками» вы имеете в виду успешные запуски на орбиту и в дальний космос.

Ниже приведены запросы Oracle, которые я использовал для генерации данных.

--Maximum consecutive days with a launch.
--
--For each group, find the difference between the first and last day to get consecutive days.
select launch_day, group_id
    ,max(launch_day) over (partition by group_id) - min(launch_day) over (partition by group_id) + 1 consecutive_days
from
(
    --Create a group id based on the launch date.
    select launch_day, launch_day - row_number() over (order by launch_day) group_id
    from
    (
        --Distinct days with a launch. Convert days to numbers.
        select distinct(to_number(to_char(launch_date, 'YYYYMMDD'))) launch_day
        from launch
        where launch_status = 'success'
            and launch_category in ('deep space', 'orbital')
        order by launch_day
    )
)
order by consecutive_days desc, launch_day;

--Details on consecutive launches.
select to_char(launch_date, 'YYYY-MM-DD') launch_date, flight_id1, flight_id2, mission
from launch
where launch_status = 'success'
    and launch_category in ('deep space', 'orbital')
    and trunc(launch_date) between date '1977-12-10' and date '1977-12-16'
order by 1,2;


--Maximum rolling average.
select
    to_char(launch_date, 'YYYY-MM-DD') first_launch_date,
    to_char(launch_date+8, 'YYYY-MM-DD') last_launch_date,
    --Keep increasing this number until it doesn't reach 1, and that's the largest average.
    avg(launch_count) over (order by launch_date rows between current row and 8 following) rolling_average
from
(
    --All possible days with launch count.
    select days.launch_date, nvl(launch_count, 0) launch_count
    from
    (
        --Calendar of all possible launches from first to last.
        select date '1957-10-04' + level - 1 launch_date
        from dual
        connect by level <=
            (
                select max(trunc(launch_date)) - min(trunc(launch_date)) + 1
                from launch
                where launch_status = 'success'
                    and launch_category in ('deep space', 'orbital')
            )
        order by launch_date desc
    ) days
    left join
    (
        --Launches per day.
        select trunc(launch_date) launch_date, count(*) launch_count
        from launch
        where launch_status = 'success'
            and launch_category in ('deep space', 'orbital')
        group by trunc(launch_date)
        order by launch_date
    ) launches
        on days.launch_date = launches.launch_date
    order by days.launch_date
)
where launch_date <> date '2017-08-26'
order by rolling_average desc, launch_date;

--Details on maximum rolling average launches.
select to_char(launch_date, 'YYYY-MM-DD') launch_date, flight_id1, flight_id2, mission
from launch
where launch_status = 'success'
    and launch_category in ('deep space', 'orbital')
    --and trunc(launch_date) between date '1970-12-10' and date '1970-12-20'
    and trunc(launch_date) between date '1976-07-21' and date '1976-07-29'
order by 1,2;
Я взял на себя смелость создать резервную копию набора данных SQL на archive.org для резервирования хоста на случай, если репозиторий github когда-нибудь выйдет из строя: archive.org/details/space-master .