Здравствуйте, Somescout, Вы писали:
S> Колонки во внешнем селекте называются также как и во внутреннем, в order by явно указана колонка из внутреннего селекта.
Это как понимать? Колонка k.c1 — как раз из внешнего, во внутреннем алиас таблицы — "users". Да и нельзя в order by ссылаться на колонки из внутреннего — это синтаксически неверно.
S> Тем не менее сортировка происходит по внешнему, т.е. по c1 = k.c2 = 1.
Как указано, так и происходит.
S> MS SQL ведёт себя ожидаемо (выводит user_id в обратном порядке), а тут какая-то очередная причуда.
Бесполезно ожидать какого-либо порядка, если он не указан явно. По k.c1 набор упорядочен, а дальше сервер выводит так, как ему удобнее. Например, по кластерному индексу.
S> Есть этому какое-то объяснение (с точки зрения MySQL), или это просто очередной баг мускула?
Это баг ожиданий.
Hardware eventually fails. Software eventually works. :::
avalon/1.0.442