powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Postgres, intarray. Функция нахождения количества одинаковых элементов в массивах
2 сообщений из 2, страница 1 из 1
Postgres, intarray. Функция нахождения количества одинаковых элементов в массивах
    #38540187
marvinorez
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В ходе работы над проектом, возникла задача поиска строки содержащей массив целых чисел максимально пересекающийся с заданным.

Например:

табличка
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
create table trash.arrays
(
id int,
adata int[]
);

insert into trash.arrays
select i, array_agg((random()*5)::int)
from generate_series(1, 10) i, generate_series(1,5) j
group by i;



исходный массив: '{1, 2, 3, 4}'::INT[]

Код: plsql
1.
2.
3.
select intarray_similar('{1, 2, 3, 4}'::INT[], adata) as sim, id
from trash.arrays
order by sim desc 



Запрос выводит строки из таблицы и сортирует по максимальному пересечению с заданным массивом

В приложении патч для intarray добавляющий фукцию intarray_similar
...
Рейтинг: 0 / 0
Postgres, intarray. Функция нахождения количества одинаковых элементов в массивах
    #38540206
marvinorez
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Postgres, intarray. Функция нахождения количества одинаковых элементов в массивах
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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