sql >> Databáze >  >> RDS >> Oracle

jak vybrat pouze řádek s maximální sekvencí bez použití poddotazu?

Za předpokladu, že SQL-Server (>=2005) nebo 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 vrátí pořadové číslo řádku v rámci oddílu sady výsledků.

Upravit :funguje také v Oracle, jak můžete vidět zde:http://sqlfiddle.com/#!4/b7e79/2/0



  1. Získáváte umístění a název souboru externí tabulky?

  2. HROMADNÉ VLOŽENÍ v MYSQL

  3. Nový způsob kopírování souborů v SQL Server 2019

  4. Jak migrovat databáze na váš Reseller Server