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

Uzyskaj zagregowaną sumę tablicy json w danych json Postgres NOSQL

To powinno działać w wersji 9.3+

WITH x AS( SELECT
'{
  "id": "tran_6ac25129951962e99f28fa488993",
  "amount": 1200,
  "origin_amount": 3900,
  "status": "partial_refunded",
  "description": "Subscription#sub_a67d59efb2bcbf73485a ",
  "livemode": false,
  "refunds": [
    {
      "id": "refund_ee4192ffb6d2caa490a1",
      "amount": 1200,
      "status": "refunded",
      "created_at": 1426412340,
      "updated_at": 1426412340
    },
    {
      "id": "refund_0e4a34e4ee7281d369df",
      "amount": 1500,
      "status": "refunded",
      "created_at": 1426412353,
      "updated_at": 1426412353
    }
  ]
}'::json as y),
refunds AS(
SELECT json_array_elements(y->'refunds') as j FROM x)
SELECT sum((j->>'amount')::int) FROM refunds;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sprawdź połączenie z bazą danych za pomocą pg-promise podczas uruchamiania aplikacji

  2. Klauzula Go i IN w Postgres

  3. SQL -- obliczanie dat zakończenia od podanej daty rozpoczęcia z arbitralnymi przerwami

  4. Dlaczego planista przedstawia różne wyniki dla funkcji o różnych zmiennościach?

  5. Zapytanie PostgreSQL do zmiany nazwy i zmiany typu kolumny za pomocą pojedynczego zapytania