PostgreSQL | Как получить последние два элемента массива?

PostgreSQL | Как получить последние два элемента массива?

WITH arr AS (
    SELECT ARRAY[11, 22, 33, 44, 55] AS qwe
  )
SELECT ARRAY[   qwe[array_length(qwe, 1)-1],    qwe[array_length(qwe, 1)]   ] FROM arr;

В подзапросе мы получаем оригинальный массив. Это тот из которого нужно достать последние два элемента.

Затем возвращаем новый массив где:

  • Первый элемент нового массива это qwe[array_length(qwe, 1)-1]
  • Второй элемент нового массива это qwe[array_length(qwe, 1)]

Обращение элементов осуществляем за счёт получения длины массива.

Получили последние два элемента массива в PostgreSQL
Получили последние два элемента массива в PostgreSQL

 

Информационные ссылки

Официальный сайт WEB-оболочки pgAdminhttps://www.pgadmin.org

Официальный сайт СУБД PostgreSQLhttps://www.postgresql.org

Команды SQLhttps://postgrespro.ru/docs/postgresql/15/sql-commands