2014-07-14 139 views
0

我只是試圖在我的Select語句中添加一個作爲子查詢的一部分的汽車的最新估計返回日期,我只是想知道這是如何完成的?SELECT之前的ORDER BY?

我想我聽說選擇發生在Order By之前,所以想做一個快速檢查。

select top 1 ESTIMATE_RETURN_DATE 
from CHECK.AOS 
where AOS.AUTO_NO = CHECK_EVENT.AUTONUM_4 
ORDER BY REVISION_NO desc 
+0

當您測試查詢時發生了什麼? –

+0

它運行良好,我得到正確的預計返回日期,但我的樣本大小是4,所以我只是想確保在排序後發生排名第一的頂級1 –

+0

在排序後發生排名第一的情況 – lante

回答

4

ORDER BY之前的SELECT評估,作爲排序更改結果返回。

TOP 1也確保返回最低的REVISION_NO,因此看起來您正在使用正確的查詢。

+0

真棒謝謝! –

+0

SELECT發生在ORDER BY子句之前,top子句在ORDER BY之後 –

0

是頂部在OrderBY後工作。首先它會查找所有記錄,然後它將應用Top。所以你做對了。我還寫下了在sql server中查詢過程的順序

FROM 
WHERE 
GROUP BY 
HAVING 
SELECT 
ORDER BY 
TOP/OFFSET FETCH