PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

पोस्टग्रेज जोंस कुंजी गणना

CREATE TABLE test (id INT4 PRIMARY KEY, some_name TEXT, j json);
copy test FROM stdin;
01  TEST1   {"key1" : "value1", "key2": "value2", "key4": "value4"}
02  TEST1   {"key1" : "value1"}
03  TEST2   {"key1" : "value1", "key2": "value2", "key3":"value3"}
\.
with unpacked as (
    SELECT (json_each_text(j)).* FROM test
)
SELECT value, count(*) FROM unpacked WHERE key in ('key1', 'key2', 'key3') group by value;

रिटर्न:

 value  | count 
--------+-------
 value1 |     3
 value3 |     1
 value2 |     2
(3 rows)

जैसा आपने दिखाया है, उसे लौटाना मेरे लिए एक अच्छा विचार नहीं है (यदि 4 अरब अलग-अलग मान हैं तो आप क्या करना चाहेंगे?), लेकिन आप हमेशा अपने ऐप में पिवट कर सकते हैं, या पिवट करने के लिए क्वेरी को संशोधित कर सकते हैं।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. अधिकांश बड़ी तालिका को हटाने के बाद मौजूदा पंक्तियों की प्राथमिक कुंजी संख्याओं को पुनरारंभ करें

  2. पोस्टग्रेज डंप उत्पन्न करना और दूसरे सर्वर पर सहेजना

  3. Laravel 5 सिंगल रो लिमिट को अपडेट करने से काम नहीं चलता

  4. PostgreSQL में केवल अल्फ़ान्यूमेरिक वर्ण वाली पंक्तियों को वापस करने के 2 तरीके

  5. डेटाबेस निर्माण पर पोस्टग्रेज एक्सटेंशन कैसे स्थापित करें?