Вопрос № 69731: Здравствуйте!
Помогите пожалуйста разобратся с порядком вывода записей mysql. А то у меня выводятся сообщения в непонятном порядке.
Я сделал две таблицы, в первой указатели на сообщения и коды тем. Во второй сами сообщения, даты соз...
Вопрос № 69.731
Здравствуйте!
Помогите пожалуйста разобратся с порядком вывода записей mysql. А то у меня выводятся сообщения в непонятном порядке.
Я сделал две таблицы, в первой указатели на сообщения и коды тем. Во второй сами сообщения, даты создания и редактирования.
Сообщения выбераются по первой таблице, и уже нужные выводятся из второй.
Когда я писал новые сообщения, не удаляя и не обновляя их вывод происходил в нужном порядке.
Если я удалю сообщения, а потом напишу новое, оно выводится в произвольном месте, хотя должно быть в конце.
Расскажите пожалуйста про сортировку записей, и порядок вывода. Как мне выводить сообщения в нужном порядке не используя записанную дату?
Чтобы выводить сообщения по дате, мне будет нужно перенести даты из второй в первую таблицу? (очень бы не хотелось).
Отвечает: Яковлев Данил Александрович
Здравствуйте, Талипов А Н!
Насколько я себе представляю, можно выводить сообщения отсортированными по дате напрямую из второй таблицы, например:
SELECT Message, DateOfCreation, DateOfEdition FROM SecondTable ORDER BY DateOfCreation
Для определения порядка сортировки (по возрастанию/убыванию) например в Access есть зарезервированные слова INC (возрастание, инкремент) и DESC (убывание, декремент). Насчёт mySQL не уверен, врать не стану, но предполагаю, что в стандарт SQL эти слова входят, а значит, поддерживаются и mySQL.
Кроме того, не совсем ясно, зачем Вам 2 таблицы? Тут вполне достаточно одной с идентификаторами: IdOfMessage, IdOFTheme, Message, Theme, DateOfCreation, DateOfEdition. Хотя пожалуй, здесь логично отделить темы и сообщения, разбив их на 2 разных таблицы и создав 3 с ключами для непосредственно текстов тем и сообщений, для правильной реляции, но я считаю, что это при таких объемах базы непринципиально и просто не нужно...
--------- Вода - Это Огромная Дорога Среди Красоты
Отвечает: Архангельский Андрей Германович
Здравствуйте, Талипов А Н!
В классической теории баз данных записи в таблице храняться в произвольном порядке.
Результат запроса можно отсортировать следующим образом:
Select Filed1,Field2,Field3 from Table
order by Field2 asc /* если в порядке увеличения*/
order by Field2 desc /* если в порядке уменьшения */
--------- Если дело заслуживает быть сделаным, то оно заслуживает, чтобы его сделали ХОРОШО