Разбор задачи SQL №16 (с ошибкой)
#SQL_trainer8
Задача номер 16. Вывести отсортированный по количеству перелетов (по убыванию) и имени (по возрастанию) список пассажиров, совершивших хотя бы 1 полет.
В этой задачке тренажер обхитрил сам себя ) сейчас все расскажу
#SQL_trainer8
Задача номер 16. Вывести отсортированный по количеству перелетов (по убыванию) и имени (по возрастанию) список пассажиров, совершивших хотя бы 1 полет.
В этой задачке тренажер обхитрил сам себя ) сейчас все расскажу
В разборе задачи №5 я писал, что COUNT(DISTINCT id) лучше, чем COUNT(*), т.к. помогает в том числе избежать дублей при джоинах. В текущей задаче дублей при джойнах не наблюдается, но все равно пример показательный. Видим, что для пассажира 'Michael Caine' COUNT(DISTINCT trip) дал результат 3, а COUNT(*) = 4.
Лезем дальше в таблицы. Пропускаю этап, где я определил, что id этого пассажира Passenger.id = 14, и что мы видим по нему в таблице Pass_in_trip? Видим, что на одном рейсе 7771 он купил 2 места! Поэтому COUNT(DISTINCT trip) = 3, а COUNT(*) = 4.
Что интересно видеть в данном канале?
Anonymous Poll
28%
Разбор задач SQL
9%
Работа в питоне (начальный уровень)
7%
Работа в питоне (продвинутый уровень)
35%
Разбор реальных (или приближенных) аналитических задач
4%
Абстрактные размышления об аналитике (пример - пост о типах аналитиков)
2%
Мемы об аналитике
15%
Всего понемногу
0%
Свой вариант (в комментах)
Налейте аналитику pinned «#дайджест В последнее время все посты выходили по теме разбора простеньких задач из тренажера SQL (уже скоро начнутся задачи поинтереснее), поэтому предыдущие посты немного затерялись, возможно, часть аудитории о них и не знает ) Поэтому небольшой дайджест…»
Налейте аналитику pinned «#дайджест В последнее время все посты выходили по теме разбора простеньких задач из тренажера SQL (уже скоро начнутся задачи поинтереснее), поэтому предыдущие посты немного затерялись, возможно, часть аудитории о них и не знает ) Поэтому небольшой дайджест…»