可以在视图中使用OrderBy吗?

goo*_*ate 4 sql sql-order-by sql-server-2008

我的DBA告诉我,在SQL视图中不可能有一个OrderBy.

我遇到了需要按特定顺序查看视图的第三方组件的问题.这是真的?我无法在视图中排序吗?

Don*_*nie 9

SQL Server视图不尊重order bys.有黑客*让他们工作,但他们没有记录,我建议不要依赖他们在未来的修订中正常工作.

如果你想订购一个视图,那么这样做的正确方法是order byselect读取视图的位置.

这是一种常被误解的观点.所以,参考文献:一篇文章,MSDN.

* - order bys是该top条款的支持.所以,理论上你可以做一个select top 100%.这是错的.服务器不保证视图将保持订购状态.仅支持此功能,因此您可以准确指定要包含的顶行.对于某些查询,请保留订单,但这完全是一个侥幸,如果您依赖它,您将有乐趣追踪最终在订单未被保留时弹出的错误.无法保证观看次序.