Сообщение Чудеса MySQL от 28.07.2015 2:54
Изменено 28.07.2015 2:57 Somescout
Здравствуйте.
Чёрт когда-то дёрнул связаться с MySQL, теперь пожинаю последствия. Есть такой запрос, он был сгенерирован провайдером MySQL EF, и упрощён мной для лучшей демонстрации:
Колонки во внешнем селекте называются также как и во внутреннем, в order by явно указана колонка из внутреннего селекта. Тем не менее сортировка происходит по внешнему, т.е. по c1 = k.c2 = 1.
MS SQL ведёт себя ожидаемо (выводит user_id в обратном порядке), а тут какая-то очередная причуда.
Есть этому какое-то объяснение (с точки зрения MySQL), или это просто очередной баг мускула?
Чёрт когда-то дёрнул связаться с 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, и упрощён мной для лучшей демонстрации:
Колонки во внешнем селекте называются также как и во внутреннем, в 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), или это просто очередной баг мускула?