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

पोस्टग्रेज जनरेट_सीरीज

आप WITH लिख सकते हैं क्वेरी इसके लिए:

WITH month_amount AS
(
    SELECT
        sum(amount) AS amount,
        date_trunc('month', date) AS month
    FROM Amount
    WHERE user_id = 55 -- AND ...
    GROUP BY month
)
SELECT month, amount
FROM
    (SELECT generate_series(min(month), max(month), '1 month') AS month
    FROM month_amount) x
LEFT JOIN month_amount
USING (month)
ORDER BY month;

उदाहरण परिणाम:

SELECT * FROM amount WHERE user_id = 55;
 amount_id | user_id | amount |    date    
-----------+---------+--------+------------
         3 |      55 |      7 | 2011-03-16
         4 |      55 |      5 | 2011-03-22
         5 |      55 |      2 | 2011-05-07
         6 |      55 |     18 | 2011-05-27
         7 |      55 |      4 | 2011-06-14
(5 rows)

WITH month_amount ..
         month          | amount 
------------------------+--------
 2011-03-01 00:00:00+01 |     12
 2011-04-01 00:00:00+02 |       
 2011-05-01 00:00:00+02 |     20
 2011-06-01 00:00:00+02 |      4
(4 rows)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQLAlchemy कोई पासवर्ड आपूर्ति त्रुटि नहीं

  2. PL/pgsql . में EXECUTE का उपयोग करके एक सामान्य ट्रिगर से नया सम्मिलित करना

  3. इकाई फ्रेमवर्क ऑब्जेक्ट कॉन्टेक्स्ट -> कच्चे एसक्यूएल देशी डीबीएमएस को कॉल करता है

  4. SQLAlchemy के साथ PostgreSQL ILIKE क्वेरी

  5. LAN से PostgreSQL सर्वर एक्सेस करें