PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Как да сравните 2 последователни стойности на ред в обект с набор от резултати с помощта на python

Въпреки че вие ​​сами успяхте да разрешите въпроса си, ето един поглед към него, който не използва прозоречни функции, а именно lag() или lead() . За да сравните разликите между up_date времеви отпечатъци на последователни журнали на проблеми, към които можете да се присъедините сами. В SQL заявката може да изглежда така

select    ilx.id
from      issue_logs ilx
join      rt_status rsx on rsx.id = ilx.to_status
left join issue_logs ily on  ily.from_status = ilx.to_status
                         and ily.issue_id = ilx.issue_id
where     ilx.up_date >= '2018-09-06T16:34'
and       ilx.up_date <= ( coalesce(ily.up_date, '2018-09-14T12:27') -
                           interval '1 minute' * rsx.duration_in_min );

и същото в SQLAlchemy SQL Expression Language :

from_datetime = '2018-09-06T16:34'
to_datetime = '2018-09-14T12:27'

ilx = issue_status_logs.alias()
ily = issue_status_logs.alias()
rsx = rt_status

query = select([ilx.c.id]).\
    select_from(
        ilx.
        join(rsx, rsx.c.id == ilx.c.to_status).
        outerjoin(ily, and_(ily.c.from_status == ilx.c.to_status,
                            ily.c.issue_id == ilx.c.issue_id))).\
    where(and_(ilx.c.up_date >= from_datetime,
               ilx.c.up_date <= (func.coalesce(ily.c.up_date, to_datetime) -
                                 cast('1 minute', Interval) *
                                 rsx.c.duration_in_min)))


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Защо неподписано цяло число не е налично в PostgreSQL?

  2. Цикъл върху измерението на масива в plpgsql

  3. Защо PostgreSQL не връща нулеви стойности, когато условието е <> вярно

  4. rails - postgres грешка:Причина:Несъвместима версия на библиотеката:libpq.5.dylib изисква версия 1.0.0 или по-нова,

  5. Защо PostgreSQL адаптерът psycopg2 се проваля в Google App Engine dev_appserver.py?