sql >> Databasteknik >  >> RDS >> Oracle

SQL-fråga för att returnera N rader från dubbla

Du kan använda:

 WHERE ROWNUM <= :NUM

...men tabellen måste innehålla rad lika med eller större än gränsen i bindningsvariabeln. Den här länken visar olika tekniker för radnummergenerering i Oracle .

Använder CONNECT BY , Oracle 10g+:

SELECT LEVEL
  FROM DUAL
CONNECT BY LEVEL <= :NUM

Bekräftad av monojohnny att bindningsvariabeln kan användas. Försöker att köra på Oracle 9i, men CONNECT BY syntax stöds resulterar i ett ORA-01436-fel.

Det enda jag inte är 100 % på är om CONNECT BY accepterar gränsen från bindningsvariabeln.

Referens:



  1. Hur eliminerar man dubbletter av beräkningar i SQL?

  2. hitta på varandra följande transaktioner inom 10 minuter

  3. 8 sätt att lägga till mikrosekunder till ett Datetime-värde i MariaDB

  4. MySQL-fel:2013, Förlorade anslutningen till MySQL-servern vid "läsning av initialt kommunikationspaket", systemfel:0