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

Имам нужда от sql заявка, за да групирам по име, но да върна други полета въз основа на най-скорошния запис

Можете също така да напишете написаното от Андрей малко по-компактно, ако изберете TOP (1) WITH TIES и поставите израза ROW_NUMBER() в клаузата ORDER BY:

SELECT TOP (1) WITH TIES
  CallerFName,
  CallerLName,
  CallerDOB,
  CreatedOn,
  PhoneNoteID
FROM [dbo].[PhoneCallNotes]
WHERE CallerLName = 'Public' 
ORDER BY ROW_NUMBER() OVER(
  PARTITION BY CallerFName, CallerLName, CallerDOB
  ORDER BY CreatedOn DESC
)

(Между другото, няма причина да използвате LIKE за обикновено сравнение на низове.)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Непозната заявка:вмъкнете <TableNameX> изберете *.%%bmk%% от<TableNameX>

  2. Как да получите стойността на автоматично нарастване на последния ред при вмъкване

  3. съхранявате арабски в SQL база данни

  4. Как да инсталирате SQL Server на Windows

  5. сравняване на стойности, разделени със запетая в sql