Re: Better way to sort a JSONB array?

From: Steve Midgley <science(at)misuse(dot)org>
To: Michael Moore <michaeljmoore(at)gmail(dot)com>
Cc: postgres list <pgsql-sql(at)postgresql(dot)org>
Subject: Re: Better way to sort a JSONB array?
Date: 2017-08-07 20:51:37
Message-ID: CAJexoSJcYLH4LJNUZ6RUzHr4P6+qpP+YNdY3QgdUcHix3U_wzg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

On Mon, Aug 7, 2017 at 1:13 PM, Michael Moore <michaeljmoore(at)gmail(dot)com>
wrote:

> This works, but surely there is a better way to do it:
>
> select jsonb_agg(row_to_json(alias)) from
> (Select * from jsonb_populate_recordset(null::tx_portal,
> json_table2) order by portal_name) alias
> into
> json_table2;
>
> It sorts the json_table2 array in "portal_name" order.
>

I'm confused why you can't just pull portal_name from the json structure
using "->"
<https://www.postgresql.org/docs/current/static/functions-json.html>? For
example, assuming your json structure that looks like:

{"portal_name": "some data.."}

And a table that looks like:

| id | json_field |

Wouldn't this sql work:

select * from json_table
order by json_field->'portal_name'

Steve

In response to

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Michael Moore 2017-08-07 21:12:35 Re: Better way to sort a JSONB array?
Previous Message Michael Moore 2017-08-07 20:13:42 Better way to sort a JSONB array?