#php #mysql #phpmyadmin #sql-order-by
#php #mysql #phpmyadmin #sql-order-by
Вопрос:
У кого-нибудь есть идеи, почему этот запрос не работает?
$result = mysql_query("SELECT * FROM Events ORDER BY ID ASC LIMIT 0, 10");
Я хочу, чтобы данные упорядочивались в обратном порядке, начиная с идентификатора с наибольшим значением вплоть до 1.
Но это не делает этого. Он просто упорядочивает их 1,2,3,4,5
Любая помощь приветствуется.
Ответ №1:
Вы сортируете в ASC
конечном порядке, когда хотите отсортировать в DESC
конечном порядке. Попробуйте вместо этого следующее:
$result = mysql_query("SELECT * FROM Events ORDER BY ID DESC LIMIT 0, 10");
Если, по случайности, вам нужны 10 элементов с наименьшими ID
значениями, но они должны быть в порядке убывания, тогда вы могли бы использовать следующее:
$result = mysql_query("SELECT * FROM (SELECT * FROM Events ORDER BY ID ASC LIMIT 0, 10) ORDER BY ID DESC");
Ответ №2:
Довольно просто.
ORDER BY ID DESC
(ASC означает «по возрастанию», DESC означает «по убыванию»).
Ответ №3:
Измените ASC
на DESC
.
Это «по возрастанию» на «по убыванию».
Ответ №4:
Используйте DESC в вашем операторе ORDER BY:
$result = mysql_query("SELECT * FROM Events ORDER BY ID DESC LIMIT 0, 10");
Ответ №5:
измените ваш ASC на DESC следующим образом
$result = mysql_query("SELECT * FROM Events ORDER BY ID DESC LIMIT 0, 10");
Ответ №6:
ВЫБЕРИТЕ * ИЗ событий ORDER BY ID DESC LIMIT 0, 10