sql >> Base de Datos >  >> RDS >> Sqlserver

¿Cómo seleccionar solo las primeras filas para cada valor único de una columna?

Una respuesta muy simple si dices que no te importa qué dirección se usa.

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

Si desea la primera según, digamos, una columna "insertada", entonces es una consulta diferente

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