в Postgresql 10 я выполняю полнотекстовый поиск и не хочу получать записи, когда rank
меньше предопределенного числа.
SELECT i.id, i.slug, i.name, i.short_description,
ts_rank(
setweight(to_tsvector(COALESCE(i.name, '')), 'A') ||
setweight(to_tsvector(COALESCE(i.short_description, '')), 'B') ||
setweight(to_tsvector(COALESCE(i.description, '')), 'B') ||
setweight(to_tsvector(COALESCE(o.name, '')), 'C') ||
setweight(to_tsvector(COALESCE(o.short_description, '')), 'D'),
plainto_tsquery('balenare')) AS rank
FROM items_item AS i INNER JOIN owners_owner AS o
ON i.owner_id = o.id
WHERE i.is_active = true AND rank > 10000
ORDER BY rank DESC
Я получаю сообщение об ошибке, потому что я добавил условие rank > 10000
ОШИБКА: столбец "ранг" не существует
что верно, но я все же хочу использовать ранг как ограничение
WHERE rank
в другой SELECT, который применяет ранговую фильтрацию и упорядочение. - person 404   schedule 26.03.2019