SQL строгий контроль порядка по столбцу даты - PullRequest
0 голосов
/ 24 апреля 2009

У меня есть таблица (скажем, TableA) со следующей схемой

A(int)    B(int)    D (varchar)    C(date)

Если я напишу запрос

select A, C from TableA where A >=0 order by A asc, B asc, D asc, C asc.

В последней строке запроса будет столбец даты C, который является наибольшим (я имею в виду здесь самый последний, который больше, чем все другие даты). Это верно? Я подтвердил с небольшим запросом к таблице, но хотел проверить, чтобы обеспечить строгий порядок в соответствии с датой запроса, это единственный вариант

select A, C from TableA where A >=0 order by C asc.

1 Ответ

3 голосов
/ 24 апреля 2009

Сортировка по приоритету слева направо, поэтому, если вы хотите, чтобы дата была основным полем сортировки, необходимо следующее.

select A, C from TableA where A >=0 order by C asc, A asc, B asc, D asc

Второй запрос, который вы задали, выполняет его в порядке дат, но вы потеряли все остальные критерии сортировки.

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