Нумеруем строки в результатах mySQL

Для mySQL 8й версии эта статья не актуальна, т.к. там появилась целая серия замечательных функций, в том числе ROW_NUMBER(). Но пока на значительном количестве хостингов используется 5я версия.

Приём прост: требуется объявить переменную и инкрементировать её прямо в выражении SELECT.

К примеру, мы выводим список заголовков статей и хотим пронумеровать список:

Все отлично, пока мы не сортируем строки. Т.к. сортировка производится после выборки, то номера строк последуют за своими строками.

Поэтому нумерацию нужно производить с использованием вложенного запроса:

Во вложенном запросе вы выполняете всю работу — выборку, сортировку, агрегацию. А в основном запросе — только нумерацию и вывод столбцов.

Мало букафф? Читайте есчо !

Считаем полное число строк в запросе MySQL, ограниченного LIMIT

Ноябрь 2, 2012 г.

О полезном операторе - SQL_CALC_FOUND_ROWS. Это конструкция просто незаменима для организации постраничного вывода каких либо данных. Все время забываю синтаксис, приходится каждый раз искать. Решил записать в блоге, чтобы уж не терять :). Во всех ...

Читать

Как удалить дубликаты из таблицы в MySQL

Сентябрь 24, 2025 г.

Под дублями можно иметь в виду разные условия. Возьмем как пример таблицу имен. В этой таблице есть повторяющиеся значения в поле name. Разберём практический способ удалить такие записи в MySQL с помощью одного SQL-запроса. Пример исходной таблицы ...

Читать

Сортировка результатов при использовании DISTINCT в MySql

Май 15, 2016 г.

Есть один феномен, связанный с внутренней сортировкой в mySQL, которая служит для реализации функционала DISTINCT (выбора уникальных значений). Если вы ...

Читать

Ошибка MySQL Incorrect datetime value: '0000-00-00 00:00:00'

Февраль 16, 2023 г.

Появляется, если поле типа datetime уже содержит подобные нулевые значения при попытке изменить как тип поля (через alter table), так и сами значения в таблице. Вероятно ошибка возникает, если вы импортировали данные в вашу базу. Скорее всего из-за ...

Читать
 

Комментарии к «Нумеруем строки в результатах mySQL»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий: