2014-01-07 30 views
0

我想查詢從訪問轉換爲SQL Server,但它花費這麼多的時間在SQL服務器 VS訪問SQL Server前15名的查詢與標準

我試圖獲得最後的(DESC)每篇文章的前15名歷史文章。

SELECT * 
FROM HistoryArticle INNER JOIN Articles ON HistoryArticle.[No article] = Articles .[No article] 
WHERE (((HistoryArticle.NoHistory) In (select top 15 NoHistory from HistoryArticle where HistoryArticle.[no article]=articles.[no article] order by NoHistory desc))) 
ORDER BY HistoryArticle.NoHistory DESC; 

感謝

回答

0

這樣的事情可能運行速度更快:

SELECT * 
FROM (SELECT * , 
        RANK OVER(ORDER BY HistoryArticle.[No article] DESC) HistRank 
      FROM  HistoryArticle 
        INNER JOIN Articles ON HistoryArticle.[No article] = Articles.[No article] 
     ) X 
WHERE HistRank <= 15 
ORDER BY HistRank