PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Jak grupować i łączyć tablice w PostgreSQL

Aby zachować ten sam wymiar swojej tablicy, nie możesz bezpośrednio użyć array_agg() , więc najpierw unnest swoje tablice i zastosuj distinct aby usunąć duplikaty (1). W zewnętrznym zapytaniu jest to czas na agregację. Aby zachować kolejność wartości, dołącz order by w ramach funkcji agregującej:

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) Jeśli nie potrzebujesz usuwania duplikatów, po prostu usuń distinct słowo.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PostgreSQL:Jak znaleźć brakujące liczby w kolumnie za pomocą generate_series()?

  2. Co może powodować bezczynność w transakcji dla instrukcji BEGIN

  3. postgres sql , jak zwiększyć, gdy istnieje null

  4. Wiele średnich w równomiernie rozmieszczonych odstępach

  5. Wybierz losowy wiersz z tabeli PostgreSQL z ważonymi prawdopodobieństwami wierszy