Задать вопрос
vanyahuk
@vanyahuk

Как сделать выборку уникальных значений столбца postgres?

Есть 2 таблицы, они обеденяються через join,

articles - поля id, model_id, city_id, region_id

models - id, name, brand_id

join происходит articles.model_id <-> models.id

Вопрос - как в таблице article выбрать только уникальные значения поля city_id?

мне нужно 3 поля из первой таблицы select model_id, city_id, region_id, в таком случае я получаю ошыбку
  • Вопрос задан
  • 3422 просмотра
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 2
@ViaCom
1. Скорее всего у вас ошибка в логике.
Если скорее всего в одном городе может быть НЕСКОЛЬКО моделей (и теоретически регионов хотя это было бы и не логично), потому вам нужно выбрать КОНКРЕТНУЮ модель.
2. Всесто Distinct используйте group by.
select max(model_id) as model_id, city_id, max(region_id) as region_id
from articles  a join models m on a.model_id = m.id 
group by  city_id
Ответ написан
Комментировать
Не очень понятно что вы хотите получить.
По одной строке на city_id? region_id понятно - он у города 1, а как быть с model_id?

А так примерно SELECT DISTINCT ON (city_id) city_id, region_id, бла бла бла FROM ...
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы