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

विंडो फ़ंक्शंस के साथ मेरी पोस्टग्रेज़ तालिका में विभाजन के समूहों की गणना कैसे करें?

ऐसा लगता है कि आप भागों के संचयी योग से 1 अधिक जैसा कुछ चाहते हैं। सबसे आसान तरीका है:

select t.*,
       (case when part = 1 then 0  -- the easy case
             else 1 + sum(part) over (order by id)
        end) as number
from t;

अगर part 0 और 1 के अलावा अन्य मान ले सकते हैं:

select t.*,
       (case when part = 1 then 0  -- the easy case
             else 1 + sum( (part = 1)::int ) over (order by id)
        end) as number
from t;


  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 संग्रहीत प्रक्रिया में सत्र आधारित वैश्विक चर?

  2. इनर जॉइन बनाम डूइंग ए व्हेयर इन क्लॉज

  3. क्या मैं रूबी ऑन रेल्स पर पोस्टग्रेएसक्यूएल फंक्शन लिख सकता हूँ?

  4. बहु-तालिका खंडों के साथ एकल पंक्ति में एकाधिक पंक्ति मानों का चयन करें

  5. pg_dump उपयोगकर्ता के साथ न तो सुपरएडमिन और न ही बड़ी वस्तुएं