Последняя запись в таблице оракул - PullRequest
0 голосов
/ 28 сентября 2019

Я хочу создать запрос в оракуле, который покажет последнюю запись в таблице, которую я сделал, я пробовал через макс и через дату, но после макс запрос не точный, и срок выполнения показывает все даты, ябуду благодарен за вашу помощь)

после даты

select seal_number 
  from SEC_OBJECT_SEALING 
 where SEALING_OBJECT = :P26_OBJECT_UNPLUG 
   and (to_date(data ,'dd.mm.yyyy hh24:mi:ss') = 
       (select max(to_date(data ,'dd.mm.yyyy hh24:mi:ss')) from SEC_OBJECT_SEALING)

через макс

select seal_number 
  from SEC_OBJECT_SEALING 
 where SEALING_OBJECT = :P26_OBJECT_UNPLUG 
   and id = (select max(id) from SEC_OBJECT_SEALING)

1 Ответ

2 голосов
/ 28 сентября 2019

В Oracle 12+ используйте fetch:

select seal_number
from SEC_OBJECT_SEALING
where SEALING_OBJECT = :P26_OBJECT_UNPLUG 
order by data desc
fetch first 1 row only;

В более ранних версиях используйте подзапрос:

select sos.*
from (select seal_number
      from SEC_OBJECT_SEALING
      where SEALING_OBJECT = :P26_OBJECT_UNPLUG 
      order by data desc
     ) sos
where rownum = 1;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...