lunedì 11 febbraio 2013

Select Top 1 in Oracle

L'esempio seguente restituisce un solo valore della tabella Table1 con data più recente:

SELECT Campo1
FROM (
    SELECT Campo1,  RANK() OVER (ORDER BY DATA_ORA DESC) sal_rank
    FROM table1
    WHERE table1.id = :id
)
WHERE sal_rank = 1


mentre per far restituire gli ultimi 3 basta sostituire l'ultima riga con la seguente:

WHERE sal_rank <= 3

Nessun commento: