相关疑难解决方法(0)

SQL Server:行顺序

我们都知道一个简单的语句例如:

SELECT * FROM stuff;
Run Code Online (Sandbox Code Playgroud)

应该不会产生有序的结果。然而,当我试图证明这一点时,它总是以主键顺序出现。

此外还有一个声明,例如:

SELECT thing,whatever FROM stuff
GROUP BY thing,whatever;
Run Code Online (Sandbox Code Playgroud)

似乎总是按GROUP BY子句中的最后一个字段对事物进行排序,这根本没有帮助。

问题是,在什么情况下 SQL SERVER 会在未询问的情况下对结果进行排序,我该怎么做才能阻止这种情况?

我试图向我的学生证明,除非指定,否则顺序是不确定的,但这对我的情况没有帮助。

我承认我正在处理一小组样本数据。

谢谢

sql-server order-by select group-by

5
推荐指数
2
解决办法
445
查看次数

是否有默认的 SELECT 顺序?

我需要弄清楚这里的订单是什么意思。我只是询问获取数据的顺序。

如果我只是SELECT * FROM table;在没有ORDER BY子句的SQL Server 中,我发现结果总是以相同的顺序出现。对于其他一些数据库服务器,例如 PostgreSQL,情况肯定不是这样。

观察到的行为真的发生了吗?我认为结果将按照添加行的顺序返回。

我还没有尝试过使用非常大的表格,但我使用过的表格似乎确实如此。

笔记:

此问题仅与 SQL Server 相关。我非常理解 SQL 本身没有首选顺序,这是我使用其他数据库的经验。

关键是 SQL Server 似乎更喜欢分配顺序,我想知道这是否属实。

笔记2:

至于这个问题可能是重复的,我对为什么特别在任何地方添加行不感兴趣。我只是想知道它们是否按分配顺序正常返回......

sql-server select

-1
推荐指数
1
解决办法
4373
查看次数

标签 统计

select ×2

sql-server ×2

group-by ×1

order-by ×1