SQL - как определить, какая позиция / порядок / количество выбранных мной запись находится в?

Представьте, что у меня есть таблица:

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, позиция).

5
задан Jason 3 June 2011 в 16:06
поделиться