В процессе создания удобного интерфейса для базы данных возникла необходимость сортировать записи, но сортировать не все сразу, а лишь те, которые попадают на страницу. Страницы создаются с помощью LIMIT. Поясню: есть 5 страниц результатов, пользователь находится на 3-ей странице (SELECT * FROM
tableLIMIT 200,100
), хотелось бы дать ему возможность, кликнув по заголовку таблички результатов отсортировать записи только на этой странице. Если просто приписать в запрос ORDER BY field
, то на страницу попадут уже абсолютно другие записи. Понимаю, что можно все сделать уже в PHP, но полей, по которым можно производить сортировку 7 штук, включая дату, с которой не хочется возиться. Буду благодарен, если подскажете, как этого избежать.
Например так:
select field1, field2
from (
select field1, field2
from tab
order by field1
limit 200,100
) x
order by field2 desc
А по поводу сортировки на клиенте подумайте еще раз. дату можно timestamp'ом передавать, все будет замечательно сравниваться и быстрее притом.
Сортируйте результаты уже на стороне клиента, не насилуйте БД.
Например jqxGrid
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Как можно залить дамп sql созданный в phpmyadmin без использования phpmyadmin
Делал оплату сервиса через купюру монеты в бд money, присвоение дней timePrins к сервису и активация acivPrinsВозникла ошибка ни разу не встречал
Нужно чтобы из tasks не показывались те материалы, id которых записан в tasks_done