2009-12-29 6 views
0

Мне нужно показать, что таблица содержит от самых свежих данных до самого старого. Что-то вроде этого не работает: SELECT * FROM table ORDER BY DESC;. Я знаю его после того, как ORDER BY следует назвать столбцом. Но я хочу просто обратить нормальный порядок (по нормальному я имею в виду от самых старых до самых свежих данных). Как это сделать?как изменить таблицу mysql

ответ

5

В запросе ДЕСК означает убыванию, реверс по возрастанию или:

SELECT * FROM table ORDER BY column ASC; 

Кстати, если вы не указать столбец, что вы называете «нормальный порядок» на самом деле является случайным, если не указано заказ.

0

«Обычный порядок» не всегда от самого старого до самого нового, так как некоторые записи могут быть удалены, а затем заменены новыми. Это означает, что «естественный порядок» может показаться несколько «случайным», причем самые свежие предметы находятся в середине набора данных.

0

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

Вы не можете положиться на физический шаблон хранения, чтобы дать вам правильный порядок. Согласно документации MySQL, нет никакой гарантии, что возвращаемые строки будут в любом конкретном порядке.

»... строки результата будут отображаться не в порядке. Часто бывает проще исследовать выходные данные запроса, когда строки сортируются в какой-то осмысленно. Для сортировки результата используйте ORDER BY ".

http://dev.mysql.com/doc/refman/5.0/en/sorting-rows.html

0

Вы можете создать новое поле типа timestamp и установить значение по умолчанию для CURRENT_TIMESTAMP, то тогда ORDER BY на этом поле.

0

Физический порядок записей в таблице не гарантирует соответствия последовательности, в которой они были созданы. Для этого вам нужно будет найти или создать поле, в котором вы можете сортировать. Поле «создать дату» или, возможно, значение id, которое увеличивается с добавлением новых записей (например, идентификатор заказа или что-то еще).

0

если вы autoincremented ID, так что, может быть,

order by id desc ? :) 
Смежные вопросы