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?
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?
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,