sql >> Database teknologi >  >> RDS >> Oracle

Få sidste rekord af resultatsæt

Der er mange måder:

Oracle Pre-12c version:

  • ROWNUM i underforespørgsel og ORDER BY i ydre forespørgsel
  • Analytisk funktion

Oracle 12c version:

  • Top-n rækkebegrænsende funktion

Bruger ROWNUM

SELECT HAZMAT_PLACARD_NOTATION
INTO v_pcn
FROM
  (SELECT HAZMAT_PLACARD_NOTATION,
    ROWNUM rn
  FROM HAZMAT_CLASS_IRF
  WHERE HAZMAT_CD = p_stcc_cd
  ORDER BY        <sort_column> DESC
  )
WHERE rn =1;

Brug af Top-n Row Limiting-funktionen

SELECT HAZMAT_PLACARD_NOTATION
 INTO v_pcn
  FROM HAZMAT_CLASS_IRF
  WHERE HAZMAT_CD = p_stcc_cd
  ORDER BY        <sort_column> DESC
FETCH FIRST 1 ROW ONLY;

Tag et kig på dette svar for eksempler og detaljeret forklaring.



  1. SQL - vælg rækker, der har samme værdi i to kolonner

  2. Sådan finder du nth Row i MySQL

  3. MySQL-adfærd for ON DUPLICATE KEY UPDATE for flere UNIKKE felter

  4. MySQL - Vælg den sidste indsatte række nemmeste måde