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

पोस्टग्रेएसक्यूएल किसी दिए गए आईडी के लिए सबसे हाल की प्रविष्टि का चयन

ऐसा करने के लगभग 5 अलग-अलग तरीके हैं, लेकिन यहां एक है:

SELECT *
FROM yourTable AS T1 
WHERE NOT EXISTS(
    SELECT *
    FROM yourTable AS T2
    WHERE T2.ID = T1.ID AND T2.Date > T1.Date
)

और यहाँ एक और है:

SELECT T1.*
FROM yourTable AS T1
LEFT JOIN yourTable AS T2 ON
(
    T2.ID = T1.ID 
    AND T2.Date > T1.Date
)
WHERE T2.ID IS NULL

एक और:

WITH T AS (
    SELECT *, ROW_NUMBER() OVER(PARTITION BY ID ORDER BY Date DESC) AS rn
    FROM yourTable
)
SELECT * FROM T WHERE rn = 1

ठीक है, मैं बहक रहा हूँ, यहाँ आखिरी पोस्ट है जो मैं पोस्ट करूँगा (अभी के लिए):

WITH T AS (
    SELECT ID, MAX(Date) AS latest_date
    FROM yourTable
    GROUP BY ID
)
SELECT yourTable.*
FROM yourTable
JOIN T ON T.ID = yourTable.ID AND T.latest_date = yourTable.Date


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL, OID को पोस्टग्रेज करता है, वे क्या हैं और वे क्यों उपयोगी हैं?

  2. PostgreSQL में एक स्ट्रिंग के भीतर एक सबस्ट्रिंग की घटनाओं की संख्या की गणना करना

  3. प्रदर्शन अंतर:INNER JOIN बनाम WHERE क्लॉज पर रखी गई शर्त

  4. क्या CSV प्रारूप के साथ Postgres COPY कमांड में कोट प्रोसेसिंग को बंद करना संभव है?

  5. Postgresql कुल सरणी