MYSQL - ORDER BY& LIMIT:使用变量或常量时的结果不同

时间:2014-07-17 08:09:02

标签: mysql sql-order-by limit

查询1:

set @userName = 'harry';

set @previousRegionId = (
        select Region as RegionID
        from log
        where User = @userName
        order by stamp desc
        limit 1);

select @previousRegionId;

查询2:

set @previousRegionId = (
        select Region as RegionID
        from log
        where User = 'harry'
        order by stamp desc
        limit 1);

select @previousRegionId;

我希望两个查询都有相同的结果,但结果不同,可重现

日志表在所有行的用户列中包含相同的值('harry')。

1 个答案:

答案 0 :(得分:0)

更改了order by子句。订单按ID 的作品“更好”。按时间戳列排序是可疑的......

我不能100%确定这种方法是否适用于所有场景/方面。