sql - View 中可以有 OrderBy 吗?

标签 sql sql-server-2008 sql-order-by

我的 DBA 告诉我在 SQL View 中不可能有 OrderBy。

我遇到了需要按特定顺序查看的 3rd 方组件的问题。这是真的?我不能在 View 中排序吗?

最佳答案

SQL Server View 不支持 order by 。有一些 hacks* 可以让它们工作,但它们没有记录,我建议不要依赖它们在 future 的修订中正常工作。

如果你想订购一个 View ,正确的方法是在读取 View 的 order by 中放置一个 select

这是一个普遍被误解的观点。所以,引用: An articleMSDN

*- order by s 支持 top 子句。所以,理论上,你可以做一个 select top 100% 。这是错误的。服务器不保证 View 将保持有序。这仅受支持,因此您可以正确指定要包含的顶行。对于某些查询,订单被保留,但这完全是侥幸,如果您依赖它,您将很高兴追踪最终会在未保留顺序时弹出的错误。不保证 View 的顺序。

关于sql - View 中可以有 OrderBy 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4227746/

相关文章:

c# - 如何逃避正斜杠?

sql - 查找不完全匹配 IN 条件列表的组

mysql - 按小时汇总行(包括空闲时间)?

sql-server - 在 MS SQL Server 中为每个类别返回 5 篇最新文章

mysql - mysql 中的自定义排序

mysql - 查找每个组件的最新记录 MySQL

MySQL GROUP BY 和 SORT BY 与 JOINS

sql - 删除查询非常慢

php - zend 中每行 2 列的总和

sql-server - SQL Server 2008 存储过程不从动态查询返回输出