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

तिथि के अनुसार अनुक्रम, सबक्वेरी के साथ पोस्टग्रेस्क्ल के बाद की तारीख से पहले और तारीख जोड़ें

विंडो फ़ंक्शन का इस्तेमाल करें ।

select 
    *, 
    lag(timestamp) over wa time_prev, 
    lead(timestamp) over wa time_next,
    to_char(timestamp, 'yyyymmdd') || to_char(row_number() over wd, 'fm0009') time_sequence
from db1
window 
    wa as (partition by vehicle_id order by objectid),
    wd as (partition by vehicle_id, timestamp::date order by objectid);


 objectid | vehicle_id |      timestamp      |      time_prev      |      time_next      | time_sequence 
----------+------------+---------------------+---------------------+---------------------+---------------
        1 |          1 | 2009-06-01 11:57:43 |                     | 2009-06-01 11:09:16 | 200906010001
        4 |          1 | 2009-06-01 11:09:16 | 2009-06-01 11:57:43 | 2009-06-01 10:16:28 | 200906010002
        6 |          1 | 2009-06-01 10:16:28 | 2009-06-01 11:09:16 | 2009-06-01 09:33:01 | 200906010003
       11 |          1 | 2009-06-01 09:33:01 | 2009-06-01 10:16:28 | 2009-06-01 11:30:19 | 200906010004
       12 |          1 | 2009-06-01 11:30:19 | 2009-06-01 09:33:01 |                     | 200906010005
        2 |          2 | 2009-06-01 10:42:19 |                     | 2009-06-01 11:02:23 | 200906010001
        3 |          2 | 2009-06-01 11:02:23 | 2009-06-01 10:42:19 | 2009-06-01 10:32:19 | 200906010002
        7 |          2 | 2009-06-01 10:32:19 | 2009-06-01 11:02:23 | 2009-06-01 09:20:31 | 200906010003
        9 |          2 | 2009-06-01 09:20:31 | 2009-06-01 10:32:19 | 2009-06-01 11:56:23 | 200906010004
       13 |          2 | 2009-06-01 11:56:23 | 2009-06-01 09:20:31 |                     | 200906010005
        5 |          3 | 2009-06-01 11:56:47 |                     | 2009-06-01 10:52:19 | 200906010001
        8 |          3 | 2009-06-01 10:52:19 | 2009-06-01 11:56:47 | 2009-06-01 11:06:39 | 200906010002
       10 |          3 | 2009-06-01 11:06:39 | 2009-06-01 10:52:19 |                     | 200906010003
(13 rows)



  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. रेल में कच्चे एसक्यूएल को कैसे स्वच्छ करें 4

  3. बड़ी संख्या में रिकॉर्ड चलाने के लिए हमेशा के लिए कार्य करना

  4. रूबी ऑन रेल्स के साथ PostgreSQL में अंतराल का उपयोग करना

  5. PostgreSQL फ़ंक्शन / संग्रहीत कार्यविधि CURRENT_TIMESTAMP नहीं बदलता है