@kzk8888

Как получить количество записей перед определенной записью в mysql с сортировкой по полю varchar?

Имею таблицу откуда беру запросом данные, и при определенных действиях, мне надо сделать подсчет количества записей перед определенной записью.
Но обязательно с сортировкой по полю varchar asc.

Сейчас я сделал так что в цикле прохожу по всем записям через limit и offset в php, пока это работает и быстро когда количество записей не особо много, а когда будет 100 тыс или больше, то, думаю этот процесс займет долгое время.

Есть ли возможность сделать это запросом в mysql?

upd:
К чему такая логика, есть таблица с данными, откуда я вывожу данные, т.к. там записей немало а более 20 тыс, я вывожу частями и при скроле дорисовываю таблицу отображения с данными через limit и offset. Есть логика редактирования записи, т.е. пользователь выбрал запись и нажал редактировать. После внесения изменении, мне нужно вернуть пользователя на ту позицию где он был с выбранным через css active элемент в tr. Есть также логика добавления нового элемента через форму, после добавления также, мне нужно в таблице отображения показать этот элемент в видимой области и сделать его active через css.

Все это я сделал и работает корректно, но, как и писал выше, прохожу в цикле по всем элементам и делаю подсчет. После нахождения элемента в массиве, я возвращаю в js что элемент на такой странице и гружу эту страницу, далее при скроле вверх или вниз я загружаю предыдущие или последующие страницы.
  • Вопрос задан
  • 87 просмотров
Пригласить эксперта
Ответы на вопрос 2
@Akina
Сетевой и системный админ, SQL-программист.
мне надо сделать подсчет количества записей перед определенной записью.
Но обязательно с сортировкой по полю varchar asc.

SELECT COUNT(*)
FROM table
WHERE varchar_column <= @value_in_definite_row

Или строгое неравенство, если саму "определённую запись" не учитывать.
Ответ написан
@rPman
Если нужно на следующей странице показать элемент, который был выбран, то сохраняй его id, всего делов то? хоть в сессии, хоть в отдельной таблице.

есть хорошее правило, постарайся, все что касается только интерфейса и поведения пользователя в сессии, хранить у пользователя, зачем это на сервер тащить?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы