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

PostgreSQL में तिथियों का अनुक्रम उत्पन्न करने के लिए वर्चुअल टेबल कैसे उत्पन्न करें?

तिथियों की सूची

generate_series फ़ंक्शन का उपयोग करें तिथियों की सूची प्राप्त करने के लिए संख्याओं की सूची प्राप्त करने के लिए जिन्हें आप किसी तिथि में जोड़ सकते हैं:

SELECT CURRENT_DATE + s.a AS dates 
  FROM generate_series(0,14,7) as s(a);

परिणाम:

dates
------------
2004-02-05
2004-02-12
2004-02-19

पिवट करना

आपके प्रश्न का उत्तरार्द्ध परिणाम सेट को पिवट करने से संबंधित है - पंक्ति डेटा को स्तंभ डेटा में परिवर्तित करना। PIVOT और UNPIVOT ANSI हैं, लेकिन मैं उन्हें PostgreSQL द्वारा समर्थित के रूप में नहीं देखता वर्तमान में . किसी क्वेरी को पिवट करने का सबसे लगातार समर्थित माध्यम समग्र कार्यों का उपयोग करना है:

   SELECT t.account,
          SUM(CASE WHEN t.date = '2010-01-01' THEN t.amount END) AS '2010-01-01',
          SUM(CASE WHEN t.date = '2010-01-02' THEN t.amount END) AS '2010-01-02',
          SUM(CASE WHEN t.date = '2010-01-03' THEN t.amount END) AS '2010-01-03',
          SUM(t.amount) AS Balance
     FROM (SELECT CURRENT_DATE + s.a AS dates 
             FROM generate_series(0,14,7) as s(a)) x
LEFT JOIN TRANSACTIONS y ON y.date = x.date
 GROUP BY t.account

डायनामिक कॉलम

...अर्थ है डायनामिक SQL




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. क्या PostgreSQL के पास Oracle में LEVEL जैसा छद्म-स्तंभ है?

  2. कुप्पी-sqlalchemy के साथ स्वत:वृद्धिशील प्राथमिक कुंजी बनाने में असमर्थ

  3. दूसरे कॉलम पर आधारित PostgreSQL अनुक्रम

  4. पीएल/पीजीएसक्यूएल के साथ निकटतम एक्स मिनट तक कैसे जाएं?

  5. एकाधिक आईपी पतों के लिए postgresql postgresql.conf सुनो_एड्रेस को कैसे कॉन्फ़िगर करें