obtener numero number num lineas incremental filas fila enumerar ejemplos sql sql-server tsql group-by

numero - Cómo devolver un número de grupo incremental por grupo en SQL



sql server obtener numero de fila (2)

Creo que estás buscando esto:

ROW_NUMBER() OVER (PARTITION BY hl.id ORDER BY hl.ts_DateTime) AS RowFilter

Me gustaría crear una consulta de datos en SQL para numerar incrementalmente grupos de filas, agrupados en una fecha de tiempo común y mantener los "números de grupo" incrementándose en la próxima fecha y así sucesivamente. Estos "números de grupo" no deben resetearse para cada grupo como he visto al usar la partición por instrucción. Aquí está mi muestra de datos:

ts_DateTime |ID |Value|RowFilter|RequiredResult -------------------------- 2013/01/09 09:23:16 |8009 |0 |1 |1 2013/01/09 09:23:16 |8010 |0 |2 |1 2013/01/09 09:23:16 |8026 |0 |3 |1 2013/01/09 09:23:22 |8026 |0 |1 |2 2013/01/09 09:23:28 |8009 |0 |1 |3 2013/01/09 09:23:28 |8010 |0 |2 |3 2013/01/09 09:23:28 |8026 |0 |3 |3 2013/01/09 09:27:03 |8009 |0 |1 |4 2013/01/09 09:27:03 |8010 |0 |2 |4 2013/01/09 09:27:03 |8026 |0 |3 |4 2013/01/09 09:27:09 |8009 |0 |1 |5 2013/01/09 09:27:09 |8010 |0 |2 |5 2013/01/09 09:27:09 |8026 |0 |3 |5 2013/01/09 09:27:15 |8009 |0 |1 |6 2013/01/09 09:27:15 |8010 |0 |2 |6 2013/01/09 09:27:15 |8026 |0 |3 |6

La consulta que estoy usando para obtener estos resultados es:

select hl.ts_DateTime, hl.Tagname as [ID], hl.TagValue as [Value], ROW_NUMBER() OVER (PARTITION BY hl.ts_datetime ORDER BY hl.tagname) AS RowFilter from Table1 hl

Básicamente, mirando la columna RowFilter, obtengo un número de ROW único por partición ts_DateTime . Lo que realmente necesito es que para cada partición ts_DateTime, la columna RowFilter se parezca a la columna de resultados requeridos.


no deberías estar usando ROW_NUMBER() ,

  • use DENSE_RANK() lugar
  • eliminar PARTITION BY

consulta,

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