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

SQL सर्वर:समूहों में लीड/लैग विश्लेषणात्मक कार्य (और समूहों के भीतर नहीं)

इस क्वेरी को आजमाएं:

select cd.Dt
    , t.Dt_next
    , cd.customer_id
    , cd.buy_time
    , cd.money_spent
from (
    select Dt
        , LEAD(Dt) OVER (PARTITION BY customer_id ORDER BY Dt) AS Dt_next
        , customer_id
    from (
        select distinct Dt, customer_id
        from #customer_data
    ) t
) t
inner join #customer_data cd on t.customer_id = cd.customer_id and t.Dt = cd.Dt

क्यों फ़ील्ड money_spent फ्लोट प्रकार है? आपको गणना में समस्या हो सकती है। इसे दशमलव प्रकार में बदलें।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. OpenRowSet और OpenDataSet बिना sysadmin अधिकारों के

  2. एक राउंड ट्रिप के साथ SQL Server 2008 में एकाधिक आदेश कैसे भेजें

  3. SQL सर्वर अनुक्रमणिका का पुनर्निर्माण और पुनर्गठन करता है

  4. SQL सर्वर में सिंगल कॉलम पर चेक बाधा कैसे बनाएं - SQL सर्वर / TSQL ट्यूटोरियल पार्ट 83

  5. SQL सर्वर में दिनांक से दिन का नाम प्राप्त करने के 3 तरीके (T-SQL)