您的位置:首页 > 运维架构

除非另外还指定了 TOP 或 FOR XML,否则,ORDER BY 子句在视图、内联函数、派生表、子查询和公用表表达式中无效。

2017-05-06 21:41 351 查看
视图中进行order by操作,比如
create view view_2
AS
select * from book order by Price desc,Publish
go

消息框会提示:除非另外还指定了 TOP 或 FOR XML,否则,ORDER BY 子句在视图、内联函数、派生表、子查询和公用表表达式中无效。

查一波发现,有人用了这样的方法:

create view view_2
AS
select top 100 percent * from book order by Price desc,Publish
go运行一遍,没有用啊!!!消息框是不报错了,但是返回的结果并没有给我排序,继续查····
有人说:既然都用到视图了,干嘛还要在视图中用排序呢?视图就存了sql语句了,那我们在使用视图的时候只在视图后面指定order by不就行了。于是代码变成了下面的样子。视图里没有排序了。。。

create view view_2
AS
select * from book;
select * from view_2 order by Price desc,Publish
go但是我就是想排序怎么办???首先算出有多少条数据,然后再用top返回···,绕了一圈,但是还是实现了视图内排序。
create view view_2
AS
select top (select count(*) from book) * from book order by Price desc,Publish
go
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐