Postgresql 最后更新的数据在postgres selet查询中显示第一个?

Postgresql 最后更新的数据在postgres selet查询中显示第一个?,postgresql,select,Postgresql,Select,我有一个简单的查询,它从用户模型中获取一些结果 问题1: SELECT users.id, users.name, company_id, updated_at FROM "users" WHERE (TRIM(telephone) = '8973847' AND company_id = 90) LIMIT 20 OFFSET 0; 结果: 然后,我对客户341683做了一些更新,再次运行相同的查询,结果显示不同,意味着最后更新的显示第一。那么postgres是在默认情况下接受最后一

我有一个简单的查询,它从用户模型中获取一些结果

问题1:

SELECT users.id, users.name, company_id, updated_at 
FROM "users" 
WHERE (TRIM(telephone) = '8973847' AND company_id = 90) 
LIMIT 20 OFFSET 0;
结果:

然后,我对客户341683做了一些更新,再次运行相同的查询,结果显示不同,意味着最后更新的显示第一。那么postgres是在默认情况下接受最后一次更新,还是在这里发生了其他事情


如果没有order by子句,数据库可以任意顺序返回行,通常只以最快的方式返回行。这就是为什么您最近更新的行将位于某个缓存中,并因此首先返回的原因

如果需要依赖返回行的顺序,则需要显式声明,例如:

选择users.id、users.name、company\u id、updated\u at
来自“用户”
式中(装饰(电话)='8973847'和公司id=90)
按id订购--这里!
限制20偏移0