Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Como selecionar apenas as primeiras linhas para cada valor exclusivo de uma coluna?


Uma resposta muito simples se você disser que não se importa com o endereço usado.
SELECT
    CName, MIN(AddressLine)
FROM
    MyTable
GROUP BY
    CName

Se você quiser o primeiro de acordo com, digamos, uma coluna "inserida", é uma 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