从按日期排序表

时间:2017-02-19 08:43:21

标签: mysql

我正在尝试按logintime(desc)对表进行排序并生成行号。我的MySQL查询在我的localhost(我想要的)和托管(未正确排序)上显示不同的结果:

SELECT
    @curRow := @curRow + 1 as 'rowno', sortedtable.*
FROM
    (SELECT @curRow := 0) indextable
JOIN
    (SELECT logins.logintime
        FROM logins ORDER BY logins.logintime DESC
    ) sortedtable

localhost的结果:

Result from localhost

托管结果:

enter image description here

两个logintime列都具有相同的列类型“datetime”。为什么主机没有按logintime(desc)正确排序?

编辑:原来MySQL版本是5.5

从5.7开始,它忽略派生表中的ORDER BY。

  

派生表或视图中的ORDER BY

     

子查询/视图中的ORDER BY在5.7中的处理方式不同   到5.6:除非外部查询是非聚合的,否则它将被忽略   仅包含一个表引用(即对此派生的引用   表或视图)。如果外部查询本身包含,它也会被忽略   ORDER BY子句。

0 个答案:

没有答案