none
Obtener Número de Fila (Sin Row_Number) RRS feed

  • Pregunta

  • Hola,

    Tengo una tabla A cuyo registros han sido almacenados en un orden específico. Quiero hacer un SELECT de esta tabla y mostrar el número de fila sin necesidad de volver a ordenar, sino en el orden en que ya está. No logro conseguirlo sin utilizar la función ROW_NUMBER que me obliga indicar por cuál de los campos debe ordenar para que pinte el número de fila y lo que yo pretendo es que se mantenga el orden que ya tiene la tabla.

    miércoles, 4 de septiembre de 2019 17:56

Respuestas

  • Puedes "engañarlo" no índicandole el campo por el que lo deseas ordenar:

    ROW_NUMBER() OVER(ORDER BY (SELECT NULL))


    SERGIO SANCHEZ ARIAS
    facebook twitter blogger google

    miércoles, 4 de septiembre de 2019 18:20
  • Hola eduar2083:

    Sql server no puede predecir un orden sin Order by.

    Si un select * from tutabla te los devuelve en el orden de insercion, entonces una opcion es crear un variable tipo tabla o tabla temporal. Insertar los registros en ella con una columna id int identity por el orden especifico, y luego hacer el order by por la variable tabla.id

    • Propuesto como respuesta José Diz jueves, 5 de septiembre de 2019 0:29
    • Marcado como respuesta Pablo RubioModerator miércoles, 11 de septiembre de 2019 18:24
    miércoles, 4 de septiembre de 2019 18:35
  • Tengo una tabla A cuyo registros han sido almacenados en un orden específico. Quiero hacer un SELECT de esta tabla y mostrar el número de fila sin necesidad de volver a ordenar, sino en el orden en que ya está. No logro conseguirlo sin utilizar la función ROW_NUMBER que me obliga indicar por cuál de los campos debe ordenar para que pinte el número de fila y lo que yo pretendo es que se mantenga el orden que ya tiene la tabla.

    Conceptualmente, una tabla es un conjunto de datos sin orden. Internamente, las filas no se almacenan necesariamente en el mismo orden en que fueron incluidas.

    Para listar el contenido de la tabla en un orden particular, debe haber una columna en la tabla que indique ese orden, y esa columna debe aparecer en la cláusula ORDER BY:

       SELECT columnas
         from tabla
         order by columna_orden;


    José Diz     Belo Horizonte, MG - Brasil     [T-SQL performance tuning: Porto SQL]   [e-mail]


    Este conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita.

    jueves, 5 de septiembre de 2019 0:26

Todas las respuestas

  • Puedes "engañarlo" no índicandole el campo por el que lo deseas ordenar:

    ROW_NUMBER() OVER(ORDER BY (SELECT NULL))


    SERGIO SANCHEZ ARIAS
    facebook twitter blogger google

    miércoles, 4 de septiembre de 2019 18:20
  • Hola eduar2083:

    Sql server no puede predecir un orden sin Order by.

    Si un select * from tutabla te los devuelve en el orden de insercion, entonces una opcion es crear un variable tipo tabla o tabla temporal. Insertar los registros en ella con una columna id int identity por el orden especifico, y luego hacer el order by por la variable tabla.id

    • Propuesto como respuesta José Diz jueves, 5 de septiembre de 2019 0:29
    • Marcado como respuesta Pablo RubioModerator miércoles, 11 de septiembre de 2019 18:24
    miércoles, 4 de septiembre de 2019 18:35
  • Tengo una tabla A cuyo registros han sido almacenados en un orden específico. Quiero hacer un SELECT de esta tabla y mostrar el número de fila sin necesidad de volver a ordenar, sino en el orden en que ya está. No logro conseguirlo sin utilizar la función ROW_NUMBER que me obliga indicar por cuál de los campos debe ordenar para que pinte el número de fila y lo que yo pretendo es que se mantenga el orden que ya tiene la tabla.

    Conceptualmente, una tabla es un conjunto de datos sin orden. Internamente, las filas no se almacenan necesariamente en el mismo orden en que fueron incluidas.

    Para listar el contenido de la tabla en un orden particular, debe haber una columna en la tabla que indique ese orden, y esa columna debe aparecer en la cláusula ORDER BY:

       SELECT columnas
         from tabla
         order by columna_orden;


    José Diz     Belo Horizonte, MG - Brasil     [T-SQL performance tuning: Porto SQL]   [e-mail]


    Este conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita.

    jueves, 5 de septiembre de 2019 0:26