Порядковый номер строки, что это совершенно не тоже самое, что номер AUTO_INCREMENT, бывает необходимо получить для многих задач.
Если у вас значение AUTO_INCREMENT идет без дырок - можно использовать его, а если из таблицы удалялись записи или AUTO_INCREMENT вовсе отсутствует?
Как узнать порядковый номер строки в MySQL запросе
К огромному сожалению в MySQL нет стандартной функции, которая бы отдавала нам порядковый номер каждой строки. В других базах данных она есть. В ORACLE для этого есть переменная rownum
, а в PostgreSQL и msSQL функция ROW_NUMBER()
.
Пишем свой вариант для MySQL:
set @n:=0;
select @n:=@n+1 as `num`, `name` from `ВАША_ТАБЛИЦА`;
Результатом выполнения запроса будет:
1 АртКиев
2 Дизайн
3 Студио