Неожиданный результат подзапроса SQL

У меня есть два фрагмента кода, которые по сути должны делать одно и то же, но их результаты различаются, и я не могу понять, почему.

Это первый код:

SELECT
    subquery.start_station_id,
    subquery.avg_duration
FROM
    (
    SELECT
        start_station_id,
        AVG(tripduration) as avg_duration
FROM bigquery-public-data.new_york_citibike.citibike_trips
GROUP BY start_station_id) as subquery
ORDER BY avg_duration DESC;

Это второй код:

SELECT
  start_station_id,
  AVG(tripduration) as avg_duration
FROM
  bigquery-public-data.new_york.citibike_trips
GROUP BY
  start_station_id
ORDER BY
  avg_duration DESC;

Предполагается, что оба этих кода определяют среднюю продолжительность поездки на каждой станции. Насколько я понимаю, первый код по сути делает то же самое, что и второй, но использует подзапрос. Оказывается, я ошибаюсь, потому что результаты обоих этих фрагментов кода разные. Чего я здесь не вижу?

Вот эта таблица используется

Это результат первого кода

Это результат второго кода

Первый фрагмент кода — это фактически правильный ответ на проблему. Я попытался решить эту проблему без использования подзапроса, потому что это довольно простая проблема. Вам необходимо узнать среднюю продолжительность поездки по каждой станции. Насколько я понимаю, вы просто используете функцию AVG, чтобы узнать среднюю продолжительность поездки, а затем группируете ее по идентификатору станции. Но оба этих кода дают совершенно разные результаты. Хоть убей, я не могу понять почему.

Любая помощь глубоко ценится, Спасибо.

ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
Понимание Python и переход к SQL
Понимание Python и переход к SQL
Перед нами лабораторная работа по BloodOath:
0
1
51
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

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

FROM bigquery-public-data.new_york_citibike.citibike_trips

FROM bigquery-public-data.new_york.citibike_trips

Как я мог этого не видеть! Большое спасибо

Abhisar Sharma 07.04.2024 09:23

Другие вопросы по теме