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

समय अंतराल के लिए SQL क्वेरी। सिंटैक्स त्रुटियां।

आप JOIN का उपयोग नहीं कर सकते हैं उस तरह, आपको या तो CROSS APPLY . का उपयोग करना होगा या OUTER APPLY (एसक्यूएल सर्वर मानते हुए)। इसके अलावा, कृपया वर्चर्स में लंबाई जोड़ें। अब, इसे आजमाएं:

SELECT r.user_id, r.reading_time start_time, rm.reading_time end_time, 
       (CONVERT(varchar(10), r.x)+' ; '+CONVERT(varchar(10), r.y)) start_point, 
       (CONVERT(varchar(10), rm.x)+' ; '+CONVERT(varchar(10), rm.y)) end_point 
FROM Readings r 
OUTER APPLY (SELECT TOP 1 r2.user_id, r2.reading_time, r2.x, r2.y
             FROM Readings r2
             WHERE r2.user_id=r.user_id and 
                   r2.reading_time < r.reading_time
             ORDER BY r2.reading_time desc) rm 
ORDER BY 1,2 desc;

यहां एक डेमो है आपके प्रयास के लिए।



  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. SQL सर्वर 2005 में गतिरोध का निदान

  3. कैसे ठीक करें "प्रक्रिया को 'ntext/nchar/nvarchar' प्रकार के पैरामीटर '@statement' की अपेक्षा है।" SQL सर्वर में त्रुटि

  4. समूह-वार अधिकतम एक निश्चित कॉलम रखने वाली पंक्तियाँ (डुप्लिकेट को कैसे मारें ...)

  5. SQL सर्वर:sql क्वेरी का उपयोग करके तालिका प्राथमिक कुंजी प्राप्त करें