sql >> Databasteknik >  >> RDS >> Sqlserver

SQL Server Max funktion

Här är ett sätt att använda ROW_NUMBER()

SELECT t.name, t.address, t.date, t.note
FROM (
    SELECT
        a.name, a.address, n.date, n.note,
        ROW_NUMBER() OVER (PARTITION BY a.name ORDER BY n.date DESC) rn
    FROM a
    LEFT JOIN n ON a.id = n.id
) t
WHERE t.rn = 1

alternativt kan du använda en korrelerad underfråga för att få maxdatum, något i stil med detta

SELECT
    a.name, a.address, n.date, n.note
FROM a
LEFT JOIN n ON a.id = n.id
WHERE n.date = (SELECT MAX(nn.date) 
                FROM n AS nn 
                WHERE a.id = nn.id)



  1. Vad kan en aggregatfunktion göra i ORDER BY-satsen?

  2. Finns det något sätt att göra ett UNIKT index skiftlägesokänsligt i Mysql 5.1.x?

  3. sqlplus-fel vid val från extern tabell:ORA-29913:fel vid exekvering av ODCIEXTTABLEOPEN-bildtext

  4. Tidsinställd e-postpåminnelse i python