sql >> Database >  >> RDS >> PostgreSQL

Hoe krijg ik alleen de jsonb van specifieke sleutels van postgres?

Je kunt vrij eenvoudig naar een enkele sleutel filteren, zoals:

jsonb_object(ARRAY[key, jsonb_data -> key])

...of je kunt naar meerdere sleutels filteren:

(SELECT jsonb_object_agg(key, value) FROM jsonb_each(jsonb_data) WHERE key IN ('a', 'b'))

Of op een meer complexe aandoening, als je wilt:

(
  SELECT jsonb_object_agg(key, value)
  FROM jsonb_each(jsonb_data)
  WHERE
    key NOT LIKE '__%'
    AND jsonb_typeof(value) != 'null'
)

Dit soort vragen kunnen heel eenvoudig worden beantwoord door simpelweg de documentatie .



  1. Tijdelijke aanduiding voor Python sqlite3

  2. Hoe maak je oplopende kolommen aan?

  3. Hoe de meest voorkomende woorden in een MySQL-database te vinden en een tweede kolom te berekenen?

  4. Voeg veel rijen samen tot een enkele tekenreeks met groepering