1

每当我运行同时包含 theLIMITORDER BY关键字的查询时,根据LIMIT子句中指定的项目数,我会得到不一致的结果:

例如,以下查询:

SELECT "people"."name" 
FROM "people" 
WHERE "people"."type" = 2 
ORDER BY score desc, number desc 
LIMIT 50

结果给了我这个:

[John, Jack, Amy, Brad, Tom, ...]

(John 和 Jack 的scorenumber属性值相同。事实上,Amy、Brad 和 Tom 也是如此。)

现在,当我运行时:

SELECT "people"."name" 
FROM "people" 
WHERE "people"."type" = 2 
ORDER BY score desc, number desc 
LIMIT 5

我得到以下结果:

[Jack, John, Tom, Amy, Brad]
4

1 回答 1

5

当按值排序相同时,数据库可以决定下一个排序是什么,并且它可能会在同一查询的多次运行中发生变化。

尝试通过添加二级订单

ORDER BY score, name
于 2013-10-10T19:33:07.157 回答