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

Postgres Query JSON Array, który zawiera coś

Możesz użyć json_array_elements funkcja do generowania SETOF json z tablicy:

SELECT name, json_array_elements(data) AS author
FROM publisher

Mając to, możesz użyć go jako podzapytania, dzięki czemu możesz filtrować, co chcesz, np.:

SELECT DISTINCT author->>'author'
FROM (
    SELECT name, json_array_elements(data) AS author
    FROM publisher
) t
WHERE t.author->>'type' = 'Novel';

Pamiętaj tylko, że jeśli masz wiele wierszy w tej tabeli, wydajność takich zapytań (przynajmniej dla obecnej wersji 9.3) będzie naprawdę słaba. Zalecam normalizację danych w tabelach.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wiele średnich w równomiernie rozmieszczonych odstępach

  2. Czy NLTK może być używany w procedurze składowanej Postgres Python?

  3. Oblicz wiek w latach w PostgreSQL

  4. postgresql:podział czasu na imprezie

  5. Funkcja month() i funkcja year() w postgresql do jpa2