LIMIT и ORDER BY

Pack

Новичок
LIMIT и ORDER BY

Добрый день. У меня вот какая проблема. Надо выбрать из таблицы определённое количество записей в каком-то интервале и сразу отсортировать их по времени добавления. Пытаюсь использовать одновременно LIMIT и ORDER BY, но ничего не выходит. Такое вообще возможно сделать? Может каким-нибудь другим способом? Или придётся сортировать полученный в результате массив?
 

Ярослав

Новичок
[телепат моде]
SELECT * FROM TABLE ORDER BY col1 LIMIT 10
[/телепат моде]
Может порядок не верньій?
 

Pack

Новичок
"SELECT * FROM `tbl` LIMIT 0, 20 ORDER BY time"
Вот так.

-~{}~ 20.03.08 17:33:

Ярослав
Так не работает.
 

Pack

Новичок
WP
Я пишу LIMIT после ORDER, запрос выполняется, но данные почему-то не сортируются...
 

Pack

Новичок
"CREATE TABLE IF NOT EXISTS `tbl` (
id INT AUTO_INCREMENT PRIMARY KEY,
tm VARCHAR(10),
name VARCHAR(25),
city VARCHAR(25),
eml VARCHAR(25),
text TEXT(10000)
)"
В tm записыватся время из time(). По этому полю и пытаюсь сортировать. Данные - обычный текст из формы.
 

Gas

может по одной?
если это время из time() его нужно пихать в поле int, а не varchar.
насчёт сортировки - ты уверен что не сортируется? можешь привести пару значений tm, которые не сортируются.
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
Pack
время нужно хранить во временном формате.
 

Pack

Новичок
Gas
Попробовал хранить в int. Разницы нет... Значения tm - обычные числа в timestamp.
Mr_Max
Если Вы про автоматическое задание времени при помощи TIMESTAMP, то не помогло. И у этого метода есть минус касательно моего случая. Если любая запись строки будет отредактирована, то и время соответственно поменяет значение на новое. А так не надо...

Вот как я делаю. Запрос на создание таблицы привёл выше. Потом делаю выборки следующим запросом: $res = mysql_query("SELECT * FROM `tbl` ORDER BY 'tm' LIMIT 0, 20") и сохраняю в массив с помощью mysql_fetch_array вот так: for ($resarr = array(); $ress = mysql_fetch_array($res); $resarr[] = $ress). Потом делаю вот что. Добавляю в таблицу три (например) записи, удаляю вторую. Потом добавляю ещё одну и она в итоге оказывается на месте удалённой. Сортировка по времени не происходит.

-~{}~ 21.03.08 00:14:

Всем большое спасибо за помощь. Оказывается всё дело было в кавычках.
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума

Pack

Новичок
Mr_Max
Да-да, именно в них. С косыми всё отлично работает. :)
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
Pack
Я когда-то намучался с похожей проблемой.
После перезда начались проблемы с сортировкой.
В запросы было понатыкано '.

Точно не помню, но кажется тоже был ORDER

В результате мучений было выяснили, что
на 3-х версиях MySQL такая сортировка работает
а на 4, 5 нет.
 

Pack

Новичок
Mr_Max
Я тоже сегодня намучался с этим делом. В общей сложности часа 4 точно убил. Что только не перепробовал...
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
Gas
И не говори.
Ушел бы сразу с ответом.
А то убил человек целый день.
 
Сверху