sql >> Databáze >  >> RDS >> Sqlserver

Potřebuji dotaz SQL k seskupení podle názvu, ale vrátím další pole na základě nejnovější položky

Můžete také napsat to, co napsal Andrey, poněkud kompaktněji, pokud vyberete TOP (1) WITH TIES a vložíte výraz ROW_NUMBER() do klauzule 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
)

(Mimochodem, není důvod používat LIKE pro jednoduché porovnání řetězců.)



  1. Importujte velký soubor CSV do MySQL

  2. Coping with string obsahuje prázdný bajt odeslaný uživateli

  3. 4 způsoby, jak najít řádky, které obsahují malá písmena v MariaDB

  4. Volejte mysql vnořené/vnitřní funkce v querydsl