Imagínese que tengo una tabla:SQL - cómo determinar en qué posición/orden/cuenta está mi registro seleccionado?
ID field1 field2
--- ------- ------
111 1 11113
112 1 11114
113 1 44321
114 1 49339
115 2 53234
Estoy interesado en todos los registros donde field1 = 1
- y específicamente field2 = 44321
, pero quiero saber cuál es la posición que está en mi selección de field1=1
(en este caso, es d ser 3).
SELECT * FROM table WHERE field1 = 1 ORDER BY id
me llevará todos los registros que quiero, sino lo que desee saber es el número 3 (la posición en la selección que 44321 es - es la tercera registro de la consulta, quiero saber eso 3).
¿Existe alguna consulta elegante que pueda hacer para conocer la posición de la fila en la que estoy particularmente interesado, o necesito buscar el cursor y recorrer mi conjunto de registros y averiguar algo sobre el negocio de contador ++?
Conozco el campo1 que quiero, conozco el campo2 que quiero - Solo quiero saber qué posición es field1 + field2 en el campo mayor1 = 1 consulta - que 3, la posición).
Hay algunos métodos específicos de motor que puede hacer. ¿Qué base de datos estás usando, mysql? –
Creo que la pregunta es un duplicado: http://stackoverflow.com/questions/907438/can-i-get-the-position-of-a-record-in-a-sql-resulttable –
Lo etiqueté como "tsql" (es SQL 2008). @Sid - tienes razón. Donde fallé es en mi búsqueda, estaba pensando en "posición", "orden", "conteo", pero no en el número de fila. Gracias. – Jason