sql >> Databasteknik >  >> RDS >> PostgreSQL

Hur man grupperar efter och sammanfogar arrayer i PostgreSQL

För att bevara samma dimension av din array kan du inte direkt använda array_agg() , så först unnest dina arrayer och tillämpa distinct för att ta bort dubbletter (1). I yttre fråga är det dags att aggregera. För att bevara värdeorden inkluderar du order by inom aggregerad funktion:

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) Om du inte behöver ta bort dubbletter är det bara att ta bort distinct ord.




  1. CodeIgniter:Hur man använder WHERE-klausulen och OR-satsen

  2. Mysql var mellan och lika med?

  3. [UPPDATERAD 2020-01-23] Microsoft Office 365 Build 1912 bryter ODBC-länkade tabellers identitet

  4. group_concat och hur man använder radnummer i sqlite