@shimapa

Какова механика запроса SQL?

Собственно имеется таблица flights и следующий запрос:
SELECT carrier, id,
            (SELECT COUNT (*)
       FROM flights f
       WHERE f.id < flights.id
       AND f.carrier=flights.carrier) + 1
       AS flight_sequence_number
       FROM flights;

По идее запрос должен показывать порядковый номер конкретной авиалинии. Но я не понимаю механику вот этой строки f.id < flights.id.

Спасибо за помощь.

PS
carrier = авиалиния
flight_sequence_number = порядковый номер
  • Вопрос задан
  • 194 просмотра
Решения вопроса 1
longclaps
@longclaps
Составь таблицу flights с двумя рейсами одного перевозчика с одной авиалинии и выполни этот запрос в уме на бумаге.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@res2001
Developer, ex-admin
f.id < flights.id - это условие позволяет выбрать все рейсы, которые были до текущего рейса.
Тут надо учесть, что id - это скорее всего уникальное поле с автоинкрементом, поэтому у предыдущих рейсов id будет всегда меньше, чем у текущего.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы