sql >> Database >  >> RDS >> Oracle

Hoe Oracle ORDER BY en ROWNUM correct te gebruiken?

De where statement wordt voor uitgevoerd de order by . Dus uw gewenste zoekopdracht zegt:"neem de eerste rij en bestel deze dan door t_stamp desc ". En dat is niet wat je van plan bent.

De subquery-methode is de juiste methode om dit in Oracle te doen.

Als u een versie wilt die op beide servers werkt, kunt u het volgende gebruiken:

select ril.*
from (select ril.*, row_number() over (order by t_stamp desc) as seqnum
      from raceway_input_labo ril
     ) ril
where seqnum = 1

De buitenste * retourneert "1" in de laatste kolom. U zou de kolommen afzonderlijk moeten vermelden om dit te voorkomen.



  1. Eenvoudige SQL Server-functies om echte problemen op te lossen

  2. 7 dingen die u moet weten over compartimenten op Oracle Cloud Infrastructure

  3. MySQL Python installeren op Mac OS X

  4. Toon volledige SQL-query in Show Processlist van MySQL