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

PostgreSQL 9.3:संघ दो कॉलम एक में

अच्छी तरह से अनुकूलित:

WITH t(a, b, ct) AS (
   SELECT columna, columnb, count(*)::int
   FROM   test_1
   GROUP  BY 1, 2
   )
, matrix AS (
   SELECT a.*, b.*, COALESCE(t.ct, 0) AS ct
   FROM        (SELECT DISTINCT ON (a) a, right(a, -1)::int AS sorta FROM t) a
   CROSS  JOIN (SELECT DISTINCT ON (b) b, right(b, -1)::int AS sortb FROM t) b
   LEFT   JOIN t USING (a, b)
   )
(   
SELECT a AS ab, array_agg('"' || b || '" = ' || ct ORDER BY sortb) AS x
FROM   matrix
GROUP  BY 1, sorta
ORDER  BY sorta
)
UNION ALL
(
SELECT b      , array_agg('"' || a || '" = ' || ct ORDER BY sorta)
FROM   matrix
GROUP  BY 1, sortb
ORDER  BY sortb
);

SQL Fiddle.

सभी कोष्ठक आवश्यक हैं।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. पोस्टग्रेज़ करने के लिए सीम फ़ाइल अपलोड बाइटा कॉलम कॉलम बाइटा है लेकिन अभिव्यक्ति प्रकार की है bigint

  2. मणि पीजी का उपयोग कर मेरी रूबी स्क्रिप्ट से पोस्टग्रेस (पीजी) डेटाबेस से कनेक्ट नहीं हो सकता है (यह रेल नहीं है, केवल शुद्ध रूबी है)

  3. मैं PostgreSQL का उपयोग करके एकाधिक पंक्तियों को एक कॉलम में कैसे जोड़ सकता हूं?

  4. PostgreSQL से स्ट्रीम पंक्तियाँ (लाने के आकार के साथ)

  5. MSSQL से PostgreSQL में माइग्रेट करना - आपको क्या पता होना चाहिए