TOP語句與Order By語句

2021-09-05 19:55:19 字數 697 閱讀 6337

預設情況下,如果在子查詢,函式,檢視中嘗試去使用order by,

create

view dbo.vsortedorders

asselect orderid, customerid

from dbo.orders

order

by orderid

go

那麼可能會遇到下面的錯誤

訊息 1033,級別 15,狀態 1,第 4 行

除非另外還指定了 top 或 for xml,否則,order

by 子句在檢視、內聯函式、派生表、子查詢和公用表表示式中無效。

原因就是針對乙個表的select其實並不是返回乙個表,而是乙個游標。
如果一定要用怎麼辦呢?答案就是配合top 100 percent
select

top (100) percent orderid, customerid

from dbo.orders

order

by orderid, customerid desc

優化orderby語句

資料庫排序在很多業務系統都有這方面的硬性要求,但是很多情況下大資料表的排序查詢很是緩慢,查了下資料,現在總結如下 可以適當調大 sort area size 的值 10240000 10m alter system set sort area size 10240000 scope spfile 在...

優化 ORDER BY 語句

一 mysql 中兩種排序方式 1 第一種通過有序索引順序掃瞄直接返回有序資料,這種方式在使用 explain 分析查詢的時候顯示為 using index 即通過索引列就能返回所需要的資料 不需要額外的排序,操作效率較高。mysql explain select customer id from ...

MySQL優化order by語句

優化order by語句 mysql的兩種排序方式 1.第一種就是通過有序索引順序掃瞄直接返回資料,常見的是使用explain分析查詢extra顯示using index,這種情況不需要額外的排序,高效率。2.通過返回資料進行排序,通常是使用explain分析查詢語句使用extra表示filesor...