Вопросы с тегом «array»

69
Как превратить массив JSON в массив Postgres?

У меня есть столбец, dataкоторый содержит jsonдокумент примерно так: { "name": "foo", "tags": ["foo", "bar"] } Я хотел бы превратить вложенный tagsмассив в объединенную строку ( foo, bar). Это было бы легко возможно с array_to_string()функцией в теории. Однако эта функция не работает с...

27
Ограничение внешнего ключа на элементе массива?

Предположим, у меня есть таблица, содержащая рабочие должности: CREATE TABLE roles ( "role" character varying(80) NOT NULL, CONSTRAINT "role" PRIMARY KEY (role) ); Предположим, у меня также есть таблица, пользователи, и у каждой строки (определенного пользователя) может быть произвольное количество...

19
Как сохранить исходный порядок элементов в неопубликованном массиве?

Учитывая строку: «Я думаю, что PostgreSQL отличный» Я хотел бы оперировать отдельными словами, найденными в этой строке. По сути, у меня есть отдельный раздел, из которого я могу получить информацию о слове, и я хотел бы присоединить к этому словарю необъявленный массив этой строки. Пока что у меня...

17
Массив запросов PostgreSQL JSON для нескольких значений

Я хочу написать запрос к jsonbтипу в Postgres, который, учитывая массив идентификаторов клиентов, найдет соответствующие группы. Учитывая этот пример таблицы: CREATE TABLE grp(d JSONB NOT NULL); INSERT INTO grp VALUES ('{"name":"First","arr":["foo"], "customers":[{"id":"1", "name":"one"},{"id":"2",...

15
Как получить конкретный объект из массива jsonb в PostgreSQL?

У меня есть поле с именем 'user', которое содержит массив json, который выглядит примерно так: "user": [{ "_id" : "1", "count" : "4" }, { "_id" : "3", "count": "4"}] Теперь я хочу запрос как: select count from tablename where id = "1" Я не могу получить конкретное поле countиз массива объектов json...

13
Почему array_agg () медленнее, чем неагрегированный конструктор ARRAY ()?

Я просто просматривал какой-то старый код, написанный для PostgreSQL до 8.4 , и увидел что-то действительно изящное. Я помню, что когда-то пользовательские функции делали это раньше, но я забыл, как они array_agg()выглядели. Для обзора современная агрегация написана так. SELECT array_agg(x ORDER BY...

10
PostgreSQL PREPARE-запрос с параметрами IN ()

Я пытаюсь подготовить запрос из PHP, как: pg_prepare($con, "prep", "select * from test where tid in ($1)"); и затем выполните это с: $strpar = "3,4,6,8,10"; pg_execute($con, "prep", array($strpars)); Проблема в том, что я не могу передать ряд значений, созданных, так как приготовление ожидает...

10
Эффективное объединение (удаление дубликатов) массивов

У меня есть две таблицы, left2и right2. Обе таблицы будут большими (1-10 миллионов строк). CREATE TABLE left2(id INTEGER, t1 INTEGER, d INTEGER); ALTER TABLE left2 ADD PRIMARY KEY (id,t1); CREATE TABLE right2( t1 INTEGER, d INTEGER, arr INTEGER[] ); ALTER TABLE right2 ADD PRIMARY KEY(t1,d); Я...

9
Найти строки, где целочисленная последовательность содержит данную подпоследовательность

проблема Примечание: я имею в виду математические последовательности , а не механизм последовательностей в PostgreSQL . У меня есть таблица, представляющая последовательности целых чисел. Определение таково: CREATE TABLE sequences ( id serial NOT NULL, title character varying(255) NOT NULL, date...

9
Массив целое []: как получить все различные значения в таблице и подсчитать их?

Я не очень хорошо с SQL (PostgreSQL). Вот что я хочу сделать: У меня есть таблица, поля: id SERIAL inet INET ports integer[] id | inet | ports ----+------------+------------ 2 | 1.2.2.1 | {80} 1 | 1.2.3.4 | {80,12} ... Как я могу получить все используемые значения "портов" в этой таблице: 80, 12...

8
Как передать тип таблицы с полем массива в функцию в postgresql

у меня есть стол под названием книга CREATE TABLE book ( id smallint NOT NULL DEFAULT 0, bname text, btype text, bprices numeric(11,2)[], CONSTRAINT key PRIMARY KEY (id ) ) и функция save_book CREATE OR REPLACE FUNCTION save_book(thebook book) RETURNS text AS $BODY$ DECLARE myoutput text :='Nothing...

8
Как удалить известные элементы из массива JSON [] в PostgreSQL?

У меня проблема с использованием типа данных JSON в PostgreSQL. Я пытаюсь добиться сохранения модели Java, денормализованной в БД. Модель имеет списки сложных объектов. Поэтому я решил смоделировать их как JSON в собственных массивах PostgreSQL. Это урезанный фрагмент моего оператора создания...

8
Как я могу сгенерировать все конечные подстроки после разделителя?

Учитывая строку, которая может содержать несколько экземпляров разделителя, я хочу сгенерировать все подстроки, начинающиеся после этого символа. Например, учитывая строку вроде 'a.b.c.d.e'(или массив {a,b,c,d,e}, я полагаю), я хочу создать массив вроде: {a.b.c.d.e, b.c.d.e, c.d.e, d.e, e}...

8
Как раскрутить и GROUP BY элементы массива JSON?

Учитывая bandтаблицу, со jsonстолбцом, содержащим массив: id | people ---+------------- 1 | ['John', 'Thomas'] 2 | ['John', 'James'] 3 | ['James', 'George'] Как перечислить количество групп, в которые входит каждое название? Желаемый результат: name | count -------+------------ John | 2 James | 2...