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

PostgreSQL विंडो फ़ंक्शन:row_number () ओवर (col2 द्वारा पार्टिशन कॉल ऑर्डर)

partition by पर विचार करें उन फ़ील्ड के समान होने के लिए जिन्हें आप group by करेंगे , फिर, जब विभाजन मान बदलते हैं, तो विंडोिंग फ़ंक्शन 1

. पर पुनरारंभ होता है

संपादित करें a_horse_with_no_name द्वारा इंगित, इस आवश्यकता के लिए हमें dense_rank() की आवश्यकता है इसके विपरीत row_number() rank() या dense_rank() उसके द्वारा दिए गए नंबरों को दोहराएं। row_number() विभाजन में प्रत्येक पंक्ति के लिए एक अलग मान होना चाहिए। rank() . के बीच का अंतर और dense_rank() क्या बाद वाला नंबर "स्किप" नहीं करता है।

अपनी क्वेरी के लिए प्रयास करें:

dense_rank() over (partition by Username, Game order by ct."date") as "Attempts"

आप वैसे ही उसी क्षेत्र के अनुसार विभाजन नहीं करते हैं, और क्रम से नहीं करते हैं; यदि आवश्यकता हो तो केवल आदेश ही पर्याप्त होगा। यह यहाँ नहीं है।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. तालिका नाम का उचित सम्मिलन

  2. पोस्टग्रेज लेफ्ट जॉइन विथ व्हेयर कंडीशन

  3. postgreSQL बिना समय क्षेत्र के कॉलम डेटा प्रकार को टाइमस्टैम्प में बदल देता है

  4. पोस्टग्रेज में बहुत सारे शो ट्रांजेक्शन आइसोलेशन लेवल क्वेरीज

  5. Django के सिंकडीबी (मैक ओएस 10.7.5) चलाते समय पोस्टग्रेस्क्ल सॉकेट त्रुटि