LATERAL
を使用すると、より短く、より速く、よりエレガントになります 参加:
SELECT DISTINCT ON (t.team->>'Name') t.team
FROM matches m, json_array_elements(m.match->'Teams') t(team);
ORDER BY t.team->>'Name', m.id DESC; -- to get the "last"
個別のチームが必要な場合は、ORDER BY
行くことができる。関連:
- JSON列の配列要素のクエリ
- JSON型内の配列要素のクエリ
JSONと平等
json
には等式演算子はありません Postgresのデータ型ですが、jsonb
用のデータ型があります (Postgres 9.4以降):
- json列で空のオブジェクトをクエリする方法は?