![]() |
1
2
您的查询相当于
using
只要site\u user.id对于每一行都是唯一的,就可以得到正确的名称,因为它依赖于id值。 但是对于另一个表中的值,你的结果,正式地说, 或 不可预知的 . 他们是从同一排回来的吗?不可预知的。 不可预测就像随机的,但更糟。Random意味着您有时会得到不同的值,所以您可以在测试中发现问题。不可预测意味着每次都会得到相同的值, 直到你不这样做。 通常,当表和索引变大时,所选值会发生变化。
您可能希望使用可提供可预测结果的查询。例如,这个将返回
子查询:
检索最大的
当心 是 记录在案。文件上说是的 不确定。 这种不可预测性很难让程序员绞尽脑汁。我们不能容忍程序性Java或php代码中的不可预测性。但是SQL是声明性的,几千年来程序员一直致力于使查询快速运行。不要试图胜过DBMS,即使你是 Michael Stonebraker |
![]() |
John Smith · Java按值对映射进行分组,其中值为列表 2 年前 |
![]() |
The Great · 拆分并存储数据帧,但名称基于特定列中的唯一值 3 年前 |
![]() |
Flo · 分组依据中的SQL大小写 3 年前 |
![]() |
user13663655 · 我可以使用条件分组并返回源类型值吗 3 年前 |
![]() |
pinkiBet · 使用MAX和UNION分组,还是加入? 3 年前 |
![]() |
lugger1 · 如何获取Postgres中时间间隔的平均值 7 年前 |