Порядок выдачи regexp_split_to_table

Делаю функцию, возвращающую слова из входной строки, разделённые за счёт regexp_split_to_table.
Для анализа входной строки мне важен порядок слов.
Выполняю запрос:

        SELECT DISTINCT
            rstt
        FROM
            regexp_split_to_table(
                 'САХАР Д/КОШКИ, СОБАКИ', E'[^A-Za-zА-Яа-яЁё0-9/]+'
            ) rstt
        WHERE
            rstt IS NOT NULL AND
            char_length(rstt)>0 AND
            rstt ~ '[A-Za-zА-Яа-яЁё]'

Результат:

word	pos
Д/КОШКИ	1
САХАР	2
СОБАКИ	3

Почему-то позиция слов отличается от позиций во входной строке.
Что делать?

Опции просмотра комментариев

Выберите предпочитаемый вами способ показа комментариев и нажмите "Сохранить настройки" для активации изменений.

Решено

Торможу. Мешает distinct.

Опции просмотра комментариев

Выберите предпочитаемый вами способ показа комментариев и нажмите "Сохранить настройки" для активации изменений.

Back to top

(С) Виктор Вислобоков, 2008-2023