Информация об изменениях

Сообщение Чудеса MySQL от 28.07.2015 2:54

Изменено 28.07.2015 2:57 Somescout

Здравствуйте.

Чёрт когда-то дёрнул связаться с MySQL, теперь пожинаю последствия. Есть такой запрос, он был сгенерирован провайдером MySQL EF, и упрощён мной для лучшей демонстрации:
select
  k.c1 as c2,
  k.c2 as c1
  from (
    select users.user_id as c1,
    1 as c2
    from users
  ) as k
  order by k.c1 desc

Колонки во внешнем селекте называются также как и во внутреннем, в order by явно указана колонка из внутреннего селекта. Тем не менее сортировка происходит по внешнему, т.е. по c1 = k.c2 = 1.
MS SQL ведёт себя ожидаемо (выводит user_id в обратном порядке), а тут какая-то очередная причуда.

Есть этому какое-то объяснение (с точки зрения MySQL), или это просто очередной баг мускула?
Здравствуйте.

Чёрт когда-то дёрнул связаться с MySQL (5.5.41-MariaDB), теперь пожинаю последствия. Есть такой запрос, он был сгенерирован провайдером MySQL EF, и упрощён мной для лучшей демонстрации:
select
  k.c1 as c2,
  k.c2 as c1
  from (
    select users.user_id as c1,
    1 as c2
    from users
  ) as k
  order by k.c1 desc

Колонки во внешнем селекте называются также как и во внутреннем, в order by явно указана колонка из внутреннего селекта. Тем не менее сортировка происходит по внешнему, т.е. по c1 = k.c2 = 1.
MS SQL ведёт себя ожидаемо (выводит user_id в обратном порядке), а тут какая-то очередная причуда.

Есть этому какое-то объяснение (с точки зрения MySQL), или это просто очередной баг мускула?