Гость
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / повторяющиеся пары строк / 11 сообщений из 11, страница 1 из 1
17.06.2019, 13:57
    #39827218
extra_dj
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
повторяющиеся пары строк
Приветствую! Никак не могу решить задачу - убрать повторяющиеся пары из таблицы
departure_city | arrival_city
----------------+--------------
Екатеринбург| Москва
Москва| Екатеринбург
Москва| Новосибирск
Москва| Пермь
Москва| Сочи
Новосибирск| Москва
Пермь| Москва
Сочи| Москва
Данные получил запросом:

SELECT DISTINCT departure_city,arrival_city
FROM routes r
JOIN aircrafts a ON r.aircraft_code = a.aircraft_code
WHERE a.model = 'Boeing 777-300'
group by departure_city, arrival_city
ORDER BY 1;


Наведите, пожалуйста, в правильную сторону) Спасибо!
...
Рейтинг: 0 / 0
17.06.2019, 13:59
    #39827221
Melkij
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
повторяющиеся пары строк
extra_dj,

а какие из строк повторяются? Нельзя же сказать, что перелёт Москва->Пермь и Пермь->Москва - это одно и то же.
...
Рейтинг: 0 / 0
17.06.2019, 14:06
    #39827224
982183
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
повторяющиеся пары строк
Вычисли значения городов через формулу.
В первом столбце - "меньший" город, во втором - "больший"
Группируй так же.
...
Рейтинг: 0 / 0
17.06.2019, 15:10
    #39827273
extra_dj
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
повторяющиеся пары строк
Melkij,
исходя из задания, одно и тоже
...
Рейтинг: 0 / 0
17.06.2019, 15:10
    #39827275
extra_dj
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
повторяющиеся пары строк
Melkij,

Модифицируйте запрос
таким образом, чтобы каждая пара городов была выведена только один раз:
...
Рейтинг: 0 / 0
17.06.2019, 15:15
    #39827280
982183
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
повторяющиеся пары строк
Примерно так:
iif(departure_city < arrival_city, departure_city, arrival_city) as town1,
iif(departure_city > arrival_city, departure_city, arrival_city) as town2,
...
Рейтинг: 0 / 0
17.06.2019, 15:33
    #39827290
extra_dj
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
повторяющиеся пары строк
982183,
это вообще не понял
...
Рейтинг: 0 / 0
17.06.2019, 15:35
    #39827292
qwwq
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
повторяющиеся пары строк
extra_dj,

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
-- if departure_city <~> arrival_city, что обычно не так, то
SELECT
least(departure_city,arrival_city) as lc
,greatest(departure_city,arrival_city) as gc
FROM routes r
JOIN aircrafts a ON r.aircraft_code = a.aircraft_code
WHERE a.model = 'Boeing 777-300'
group by 1,2
ORDER BY 1,2 ;
...
Рейтинг: 0 / 0
17.06.2019, 15:44
    #39827297
extra_dj
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
повторяющиеся пары строк
qwwq,

Спасибо большое!
...
Рейтинг: 0 / 0
18.06.2019, 09:59
    #39827553
982183
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
повторяющиеся пары строк
extra_dj982183,
это вообще не понял
Сорри. Мне уже стало интересно.

"В первом столбце - "меньший" город, "
=
iif(departure_city < arrival_city, departure_city, arrival_city) as town1
=
least(departure_city,arrival_city) as lc

Или что-то в диалектах не так?
...
Рейтинг: 0 / 0
18.06.2019, 11:07
    #39827592
Щукина Анна
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
повторяющиеся пары строк
distinct + [greatest | least]
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / повторяющиеся пары строк / 11 сообщений из 11, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]