Domanda

I have a query shown below

SELECT 
  league.country as id, 
  array_agg(DISTINCT row(league.id, league.name::varchar)) AS league_names, 

FROM league 
GROUP BY league.country

How can I sort by league.name::varchar in array_agg function?

È stato utile?

Soluzione

Aggregates accept an ORDER BY. So you can write:

array_agg(thecol ORDER BY someothercol)

e.g.

array_agg(
  DISTINCT 
  row(league.id, league.name::varchar) 
  ORDER BY league.name
) AS league_names, 
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top