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

Come selezionare solo le prime righe per ogni valore univoco di una colonna?

Una risposta molto semplice se dici che non ti interessa quale indirizzo viene utilizzato.

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

Se vuoi la prima in base, ad esempio, a una colonna "inserita", allora è una query diversa

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