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

पोस्टग्रेज - उस सीमा से अलग-अलग मूल्यों से एक इंट रेंज के साथ पंक्ति को मध्यवर्ती पंक्तियों में कैसे परिवर्तित करें?

generate_series() Use का उपयोग करें :

select gs.i, t.*
from t cross join lateral
     generate_series(start_i, end_i, 1) gs(i);

सख्ती से बोलें, lateral आवश्यकता नहीं है। लेकिन यह बताता है कि क्या हो रहा है। मुझे यह भी ध्यान रखना चाहिए कि आप यह भी कर सकते हैं:

select generate_series(start_i, end_i) as i, t.*
from t;

हालांकि, generate_series() क्वेरी में पंक्तियों की संख्या को प्रभावित करता है। SELECT . में इस तरह के प्रभाव होने से मैं असहज हूं खंड।




  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. पायथन psycopg2 कर्सर.फ़ेचॉल () खाली सूची देता है लेकिन कर्सर.रोकाउंट है> 1

  4. npqsql का उपयोग करके पोस्टग्रेस्क्ल और डैपर के साथ AsyncQuery

  5. अद्वितीय डेटाटाइम सीमा के लिए पोस्टग्रेज बाधा