Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Как да изберете само първите редове за всяка уникална стойност на колона?

Много прост отговор, ако кажете, че не ви пука кой адрес се използва.

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

Ако искате първото според, да речем, "вмъкната" колона, тогава това е различна заявка

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да изпълните тригер само когато се актуализира конкретна колона (SQL сървър)

  2. Низови функции на SQL Server (пълен списък)

  3. Заявката е неуспешна или услугата не е отговорила навреме?

  4. Разделяне на стойности, разделени със запетая, в колони на множество редове в Sql Server

  5. SQL Server - обединете редовете в списък, разделен със запетая