Tengo una consulta que devolverá una fila. ¿Hay alguna forma de que pueda encontrar el índice de fila de la fila que estoy consultando cuando la tabla está ordenada?Obteniendo el número de fila para la consulta
He intentado rowid
pero obtuve el # 582 cuando esperaba la fila # 7.
Ej:
CategoryID Name
I9GDS720K4 CatA
LPQTOR25XR CatB
EOQ215FT5_ CatC
K2OCS31WTM CatD
JV5FIYY4XC CatE
--> C_L7761O2U CatF <-- I want this row (#5)
OU3XC6T19K CatG
L9YKCYAYMG CatH
XKWMQ7HREG CatI
he intentado rowid con resultados inesperados:
SELECT rowid FROM Categories WHERE CategoryID = 'C_L7761O2U ORDER BY Name
EDIT: También he probado la sugerencia de J Cooper (abajo), pero los números de fila solo no están bien.
using (var cmd = conn.CreateCommand()) {
cmd.CommandText = string.Format(@"SELECT (SELECT COUNT(*) FROM Recipes AS t2 WHERE t2.RecipeID <= t1.RecipeID) AS row_Num
FROM Recipes AS t1
WHERE RecipeID = 'FB3XSAXRWD'
ORDER BY Name";
cmd.Parameters.AddWithValue("@recipeId", id);
idx = Convert.ToInt32(cmd.ExecuteScalar());
¿Por qué te modificar mi consulta a '... DONDE t2.RecipeID <= t1.RecipeID'? En su pregunta usted está pidiendo el número de fila con respecto a 'Name' no' RecipeID' - es por eso que no está obteniendo buenos resultados, use 'WHERE t2.Name <= t1.Name' en su lugar –