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

hvordan vælger man kun række med max sekvens uden at bruge en underforespørgsel?

Forudsat SQL-Server (>=2005) eller Oracle (10g?):

WITH CTE AS
( 
   SELECT
       ROW_NUMBER() OVER (PARTITION BY ID  ORDER BY Seq DESC) AS RN
       , ID, Age
   FROM 
       Persons
)
SELECT ID, Age 
FROM CTE
WHERE RN = 1

ROW_NUMBER returnerer det sekventielle nummer for en række inden for en partition af et resultatsæt.

Rediger :virker også i Oracle, som du kan se her:http://sqlfiddle.com/#!4/b7e79/2/0



  1. Er det muligt at få adgang til en .mdf-database uden SQL Server?

  2. Sådan installeres SQL Server

  3. Kan ikke finde et indgangspunkt med navnet 'InterlockedIncrement' i DLL 'kernel32.dll' - [email-beskyttet] 64 bit

  4. Sagen om kardinalitetsvurderingen Red Sild