MySql 和 MariaDB 之间的问题请求

Problem request between MySql And MariaDB

我需要你帮忙解决一个问题..

之前,我的网站使用MySql 5.5 现在,它似乎使用 MariaDB 10.0

我发现没有区别但是...

这个请求(我简化了请求以便更好地理解)

select * from ( select * from MYTABLE ) tmpTable ORDER BY tmpTable.id DESC

此请求适用于 Mysql 和 MariaDB

但是...

select * from ( select * from MYTABLE ORDER BY tmpTable.id DESC) tmpTable 

我想如果我的订单在我的第二位select,他不考虑

此请求无效!结果很好,但是 ORDER BY 不起作用......它是按 ASCENDING 排序的,而不是像我在第二个 select ...

中指定的那样按 DESCENDING 排序

有人明白为什么吗? mysql 和 Maria DB 有区别吗?

非常感谢! 祝你有美好的一天

在 SQL 中,table 的行没有预定义的顺序。您需要 order by 才能对记录集进行排序。

第二个查询发生的情况是,子查询创建了一个派生的 table,然后在外部查询中使用。您对子查询中的行进行排序这一事实并没有什么不同:从外部查询的角度来看,派生的行 table 没有固有的顺序。

换句话说,不能保证内部排序传播到外部范围。如果您希望结果集排序一致,请在外部范围中使用 order by