Представьте, что у меня есть таблица:
ID field1 field2
--- ------- ------
111 1 11113
112 1 11114
113 1 44321
114 1 49339
115 2 53234
Меня интересуют все записи, где field1 = 1
- и особенно field2 = 44321
, но я хочу чтобы узнать, в какой позиции он находится в моем выборе field1 = 1
(в данном случае это будет 3).
SELECT * FROM table WHERE field1 = 1 ORDER BY id
предоставит мне все записи, которые я хочу, но что я хочу , который необходимо знать, - это номер 3 (позиция в выделенном фрагменте, которая является 44321 - это третья запись в запросе, я хочу знать, что 3).
Могу ли я сделать какой-нибудь элегантный запрос, чтобы узнать позиция строки, которая меня особенно интересует, или мне нужно выбрать курсор, пройтись по моему набору записей и выяснить это с помощью некоторого counter ++ business?
Я знаю поле1, которое я хочу, я знаю поле2, которое хочу - я просто хотите знать, какая позиция field1 + field2 находится в большем запросе field1 = 1 - это 3, позиция).