रो नंबर असाइन करना

Snowflake में Window Functions

Jake Roach

Field Data Engineer

विंडो फंक्शंस

पंक्तियों की एक "विंडो" पर गणना करने और हर पंक्ति के लिए मान लौटाने के लिए उपयोग होता है

$$

$$

रैंकिंग

  • RANK, DENSE_RANK
  • FIRST_VALUE, LAST_VALUE, NTH_VALUE
  • LAG, LEAD

एग्रीगेशन

  • COUNT, SUM, AVG
Snowflake में Window Functions

विंडो फंक्शंस

विंडो फंक्शंस हमें नए तरह के प्रश्नों के उत्तर देने में मदद करते हैं!

$$

  • हर venue पर तीसरा सबसे लोकप्रिय कॉन्सर्ट क्या है?
  • किसी आइटम की बिक्री दिन-प्रतिदिन कैसे बदली?
  • मेरी रोलिंग औसत व्यूअरशिप ऊपर जा रही है या नीचे?
Snowflake में Window Functions

पारंपरिक फंक्शंस

पारंपरिक एग्रीगेशन फंक्शन के लिए GROUP BY क्लॉज़ ज़रूरी है.

एग्रीगेशन फंक्शन का दृश्य प्रतिनिधित्व.

Snowflake में Window Functions

विंडो फंक्शंस

विंडो फंक्शन के आउटपुट का दृश्य प्रतिनिधित्व.

                                                 GROUP BY की ज़रूरत नहीं!

Snowflake में Window Functions

रो नंबर असाइन करना

SELECT
    <other-fields>,

    ROW_NUMBER() OVER(
        ORDER BY <field>
    ) AS <alias>

FROM SCHEMA.table

...;

ROW_NUMBER() फंक्शन परिणाम सेट में हर रिकॉर्ड को एक रो नंबर असाइन करता है

$$

  • OVER() विंडो तय करता है
  • बने कॉलम को एक alias दें
  • GROUP BY नहीं चाहिए!
Snowflake में Window Functions

कॉन्सर्ट अटेंडेंस

SELECT
    customer_id,
    event_name,

    -- Assign a row number to each 
    -- record in the result set

    ROW_NUMBER() OVER(
        ORDER BY time_spent_minutes
    ) AS row_num

FROM concerts.attendance;
  customer_id  |  event_name  |  row_num  
 ------------- | ------------ | ---------
     1931292   |  Music Fest  |    1    
     5462384   |  Elton John  |    2    
     7732891   |  Coachella   |    3    
     3124888   |  Porch Fest  |    4

$$

$$

सिंटैक्स याद रखें: ROW_NUMBER() OVER( ORDER BY ...)!

Snowflake में Window Functions

अभ्यास करते हैं!

Snowflake में Window Functions

Preparing Video For Download...