Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

So geben Sie eine inkrementelle Gruppennummer pro Gruppe in SQL zurück

Sie sollten ROW_NUMBER() nicht verwenden ,

  • benutze DENSE_RANK() stattdessen
  • Entfernen Sie PARTITION BY

Abfrage,

SELECT hl.ts_DateTime,  
       hl.Tagname as [ID],  
       hl.TagValue as [Value],
       DENSE_RANK() OVER (ORDER BY ts_datetime) AS RowFilter
FROM   Table1 hl 
ORDER  BY RowFilter
  • SQLFiddle-Demo