Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Comment sélectionner uniquement les premières lignes pour chaque valeur unique d'une colonne ?

Une réponse très simple si vous dites que vous ne vous souciez pas de l'adresse utilisée.

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

Si vous voulez que la première corresponde, par exemple, à une colonne "insérée", il s'agit d'une requête différente

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