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

एसक्यूएल उन्नत क्वेरी

कुछ इस तरह करना चाहिए:

; WITH positions AS (
  SELECT MMSI
       , Message_ID
       , "Time"
       , Latitude
       , Longitude
  FROM   dbo.DecodedCSVMessages_Staging
  WHERE  Message_ID IN (1, 3)
  AND    Latitude  > 55
  AND    Latitude  < 85
  AND    Longitude > 50
  AND    Longitude < 141
)
, details AS (
  SELECT MMSI
       , Ship_Type
       , Vessel_Name
       , Row_Number() OVER (PARTITION BY MMSI ORDER BY "Time" DESC) As row_num
  FROM   dbo.DecodedCSVMessages_Staging
  WHERE  Message_ID = 5
)
SELECT positions.MMSI
     , positions.Message_ID
     , positions."Time"
     , details.Ship_Type
     , details.Vessel_Name
     , positions.Latitude
     , positions.Longitude
FROM   positions
 INNER
  JOIN details
    ON details.MMSI    = positions.MMSI
   AND details.row_num = 1 -- Limit to "latest" ship details per MMSI


  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 सर्वर आंतरिक:समस्याग्रस्त ऑपरेटर्स पं। मैं - स्कैन

  3. SQL सर्वर 2008 - बहु-मान कॉलम को अद्वितीय मानों वाली पंक्तियों में विभाजित करें

  4. सी # कोड का उपयोग कर उपलब्ध SQL सर्वर की सूची कैसे प्राप्त करें?

  5. SQL सर्वर क्या है? (परिभाषा, संस्करण, संस्करण)