SQL Server 2008错误:ORDER BY子句在视图中无效

时间:2015-11-15 05:04:59

标签: sql sql-server group-by

我收到了错误。

  

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

这是查询:

select * from
   (select * from pacesetter_forecast order by hectare DESC) t 
group by cluster

1 个答案:

答案 0 :(得分:1)

错误消息是正确的。您无法对子查询的输出进行排序。如果您不确定子查询是什么:

SELECT *
FROM (SELECT * FROM SomeOtherTable) T -- This is the subquery, a query within a query

逻辑上,订购子查询的结果没有多大意义。通常,子查询的概念是您正在获取查询的结果并将其用作表格(JOIN到它,SELECT来自它,等等)。在人类查看输出之前,表中的行物理存储在磁盘上的顺序通常没那么重要。

顺便说一下,在上面的示例中,您的子查询实际上是不必要的。您只需GROUP BY从表ORDER BY SELECT开始pacesetter_forecastSELECT *(如果您的表格具有允许GROUP的正确架构, <p align="center"><iframe src="http://www.google.com/" width=500 height="500"></iframe></p> 使用单个列名称..但这是对另一个SO问题的不同讨论。)

相关问题