sql >> Databáze >  >> RDS >> PostgreSQL

Jak seskupit a zřetězit pole v PostgreSQL

Chcete-li zachovat stejný rozměr pole, nemůžete přímo použít array_agg() , takže nejprve unnest vaše pole a použijte distinct k odstranění duplikátů (1). Ve vnějším dotazu je to čas na agregaci. Chcete-li zachovat řazení hodnot, zahrňte order by v rámci agregační funkce:

select time, array_agg(col order by col) as col
from (
  select distinct time, unnest(col) as col
  from yourtable
) t
group by time
order by time

(1) Pokud nepotřebujete odstranění duplicit, stačí odstranit distinct slovo.




  1. Seznam uložených funkcí, které odkazují na tabulku v PostgreSQL

  2. Je povinný parametr recovery_target_timeline='latest' při přepínání a přepínání v PostgreSQL 9.4.1?

  3. Pandas read sql integer se stal float

  4. Chyba při analýze dat org.json.jsonexception konec vstupu na znaku 0