2017-02-16 19 views
0

У меня есть база данных MySQL, и мне нужно отправить клиенту некоторые данные из моих таблиц, клиенту нужно получить самую близкую дату события, но не получить всю дату (используя разбивку на страницы, которая уже находится в место и рабочий штраф) ... Поэтому мне нужно сначала предоставить клиенту самые близкие события по дате, в будущем есть некоторые события, а некоторые в прошлом (клиент получит все из них путем разбивки на страницы), поэтому order_by is не достаточно хорошо, потому что это собственное.Python SqlAlchemy Сортировать по ближайшей дате

Я использую это: события = session.query (событие) .filter (user.userID == идентификатор пользователя) .order_by (Desc ('EVENTDATE')

Любая идея, как достичь этого

?
+0

Если две даты разделены на одну и ту же разницу. который должен быть первым? – xQbert

ответ

0

Working SQL Fiddle

Сортировка по абсолютному значению даты дифференциала в дни от текущей даты? заменить текущую дату на дату, выбранной пользователем при необходимости

Create table foo(
    ID int, 
    eventDate date); 

Insert into foo (ID, eventDate) 
values (1,'2017-01-01'), 
(2,'2017-01-02'), 
(3,'2017-01-03'), 
(4,'2017-01-04'), 
(5,'2017-01-05'), 
(6,'2017-01-06'), 
(7,'2017-01-07'), 
(8,'2017-01-08'), 
(9,'2017-01-09'); 


SELECT * 
FROM foo 
ORDER BY abs(dateDiff(eventDate,'2017-01-05')), EventDate 

Возврат:

ID eventDate 
5 January, 05 2017 00:00:00 
4 January, 04 2017 00:00:00 
6 January, 06 2017 00:00:00 
3 January, 03 2017 00:00:00 
7 January, 07 2017 00:00:00 
2 January, 02 2017 00:00:00 
8 January, 08 2017 00:00:00 
1 January, 01 2017 00:00:00 
9 January, 09 2017 00:00:00 

 Смежные вопросы

  • Нет связанных вопросов^_^