Можно создать запрос, который сортирует по дням недели? - PullRequest
1 голос
/ 08 июля 2011

Можно ли написать SQL-запрос, который сортирует данные, установленные по дню недели, начиная с определенного дня ?

Например, если сегодня четверг, результаты сортируются по THU-FRI-SAT -...- MON-TUE-WED.
Если сегодня вторник, результаты будут отсортированы по TUE-WED-THU -...- SAT-SUN-MON.

Дни хранятся в виде целых чисел.

Ответы [ 3 ]

2 голосов
/ 08 июля 2011

Предполагая, что в поле WD хранится день недели, где значение 1 означает MON, 2 означает TUE и т. Д., А SW - индекс "начало недели" (снова 1: MON, 2: TUE,...) тогда что-то вроде

CASE WHEN WD < SW THEN WD + 7 ELSE WD END

должно дать вам значение для порядка.Я не использую sqlite, поэтому я не уверен, что вы можете поместить его прямо в ORDER BY или вам нужно использовать его как поле, а затем упорядочить по этому полю.

1 голос
/ 08 июля 2011
1 голос
/ 08 июля 2011

в mysql: ORDER BY DATE_FORMAT(date,%w)

см .: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_date-format

Базы данных Microsoft поддерживают это (не уверен) ... ORDER by DATENAME ( dw , table.datefield )

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...