sql >> Database teknologi >  >> RDS >> Sqlserver

Hvordan vælger man kun de første rækker for hver unik værdi i en kolonne?

Et meget simpelt svar, hvis du siger, at du er ligeglad med, hvilken adresse der bruges.

SELECT
    CName, MIN(AddressLine)
FROM
    MyTable
GROUP BY
    CName

Hvis du vil have den første i henhold til f.eks. en "indsat" kolonne, så er det en anden forespørgsel

SELECT
    M.CName, M.AddressLine,
FROM
    (
    SELECT
        CName, MIN(Inserted) AS First
    FROM
        MyTable
    GROUP BY
        CName
    ) foo
    JOIN
    MyTable M ON foo.CName = M.CName AND foo.First = M.Inserted


  1. SQL Inner Join – Sådan forbinder du 3 tabeller i SQL og MySQL

  2. Installer utf8-sortering i PostgreSQL

  3. Hvor meget RAM har din nye databaseserver brug for?

  4. Opretter forbindelse til Oracle Database via C#?