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

Jeg har brug for en sql-forespørgsel for at gruppere efter navn, men returnere andre felter baseret på den seneste indtastning

Du kan også skrive det, Andrey skrev noget mere kompakt, hvis du vælger TOP (1) WITH TIES og sætter ROW_NUMBER() udtrykket i ORDER BY-sætningen:

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
)

(Der er i øvrigt ingen grund til at bruge LIKE til en simpel strengsammenligning.)



  1. Gentagne MySQL-forespørgsler fra Python returnerer de samme data

  2. Kald til en medlemsfunktion rowCount() på et ikke-objekt

  3. Pivot med dynamiske kolonner i Oracle

  4. To Laravel-applikationer på den samme server, der er i konflikt med hinanden