SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 27.05.2010 09:44:05

Eugene61
Участник
Зарегистрирован: 27.05.2010
Сообщений: 2

Помогите со сложной сортировкой по числу

Есть набор строк, в каждой столбец типа int, содержащий timestamp. Нужно одним запросом отсортировать строки так, чтобы сначала шли записи с "сегодняшним" штампом, т.е. в опр. пределе, потом записи больше этого предела, потом меньше, т.е. [a, b] -> (b, ) -> ( ,a). Реально ли?

Неактивен

 

#2 27.05.2010 14:50:09

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Помогите со сложной сортировкой по числу

Подозреваю, что самый быстрый способ будет через UNION:

SELECT ts FROM tablename WHERE ts BETWEEN (CURRENT_DATE() AND CURRENT_DATE() + INTERVAL 1 DAY)
UNION
SELECT ts FROM tablename WHERE ts > CURRENT_DATE() + INTERVAL 1 DAY
UNION
SELECT ts FROM tablename WHERE ts < CURRENT_DATE()

Ну или ORDER BY IF (ts BETWEEN (), 0, IF (...));

Неактивен

 

#3 27.05.2010 17:30:24

Eugene61
Участник
Зарегистрирован: 27.05.2010
Сообщений: 2

Re: Помогите со сложной сортировкой по числу

Большое спасибо, UNION помог.

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson