MySQL номер строки - PullRequest
       9

MySQL номер строки

3 голосов
/ 26 августа 2010

Скажите, что у меня есть запрос MySQL, например:

SELECT id, name, surname FROM employees ORDER BY id

Результат будет:

id    name    surname
 1     Peter   Smith
 2     John    Banjo
...
 1384  Will    Levenstein

Хотя это упорядоченный запрос, я всегда могу предположить (пока я не изменю таблицу), что John Banjo выйдет вторым.

А что если мой запрос был

SELECT id, name, surname FROM employees WHERE name = 'John' AND surname = 'Banjo'

Могу ли я как-нибудь получить номер строки в первом запросе? Я пытаюсь сделать это в гораздо более сложном, но всегда упорядоченном запросе, есть ли способ архивировать это?

1 Ответ

2 голосов
/ 26 августа 2010
 SELECT x.id, x.name, x.surname, x.rownum
 FROM (
      SELECT @rownum:=@rownum+1 rownum, t.*
      FROM (SELECT @rownum:=0) r, employees t
      ORDER BY Id
 ) x
 WHERE x.name = 'John' 
 AND x.surname = 'Banjo'
...