Оператор PHP / MySQL Select From Order выдает неверные результаты

#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