Tôi có một truy vấn sẽ trả về một hàng. Có cách nào tôi có thể tìm thấy chỉ số hàng của hàng tôi đang truy vấn khi bảng được sắp xếp không?Nhận số hàng cho truy vấn
Tôi đã thử rowid
nhưng nhận đượC# 582 khi tôi đang mong đợi hàng # 7.
Ví dụ:
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
Tôi đã thử rowid với kết quả bất ngờ:
SELECT rowid FROM Categories WHERE CategoryID = 'C_L7761O2U ORDER BY Name
EDIT: Tôi cũng đã cố gắng đề nghị J Cooper (dưới đây), nhưng những con số hàng chỉ không đúng.
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());
Tại sao bạn sửa đổi truy vấn của tôi cho '... WHERE t2.RecipeID <= t1.RecipeID'? Trong câu hỏi của bạn, bạn đang yêu cầu số hàng liên quan đến 'Name' không phải' RecipeID' - đó là lý do tại sao bạn không nhận được kết quả tốt, sử dụng 'WHERE t2.Name <= t1.Name' thay vì –